Re: como convertir un arreglo de caracteres a cadena

06/01/2006 - 03:23 por krlosr | Informe spam
que tal pedro, pues esta muy bien lo que dijiste, pero pues lo intente pero como lo hice yo no funcion

mira esta es una parte del codigo que teng
//esta es una funcion la cual me llevo como parametro un arregl
//el arrelgo lo tengo definido as
//pero fuera de esta funcio
char[] caracter=new char[50]
int PalabraRecervada(char[] arreglo

string[] lista={"pro",inicio","funcion"
string cadena2=new string(arreglo).trim()
for(int i=0;i<3;i++

if(lista[i]==cadena2

return 1



eso es el pedaso de codigo en donde quiero comparar la cadena de string con un arreglo de caracteres, nose porque no lo compara pero segun al ponerle el trim no elimina los espacios vacios del arreglo de caracteres, que segun yo no son espacios vacios, veras intentenlo hacer por favor. nose como lograr esos espacios del arreglo de caracteres por favor ayuda

krlosr

Ver este tema: http://www.softwaremix.net/viewtopic-471548.htm

Enviado desde http://www.softwaremix.net
 

Leer las respuestas

#1 Pedro
06/01/2006 - 15:59 | Informe spam
Hola Krlosr

Bueno yo he usado la de Octavio y la he introducido una pequeña mejora para
salucionar el problema ese de los espacios en blanco.

Por lo tanto me queda de la siguente manera:

public int PalabraReservada(char[] arreglo)
{
int resultado = -1;
string[] lista = {"pro","inicio","funcion"};
string sCadena = new string(arreglo).Trim();

// new
System.Text.RegularExpressions.Regex("[a-z]|[A-Z]|ñ|Ñ").Matches(sCadena).Count
// con esta linea lo que conseguimos es que cuente el número de caracteres
que hay dentro del arreglo
// ya que podemos tener un arreglo de 50 espacios y tener usaros 3, por
ejemplo.
// Según las palabras que se quieran evaluar hablará que modificar la
espresión regular --> "[a-z]|[A-Z]|ñ|Ñ"
// Con Substring como ya sabemos el tamaño de la cadena que tenemos, pues
la sacamos.

sCadena = sCadena.Substring(0, new
System.Text.RegularExpressions.Regex("[a-z]|[A-Z]|ñ|Ñ").Matches(sCadena).Count);

for(int i=0; i<3; i++)
if(lista[i] == sCadena)
{
resultado = i; break;
}

return resultado;
}

Ahora bien, se que se puede mejorar porque seguramente por medio del uso de
expresiones regulares se puede hacer que te devuelva la cadena que cumpla un
determinado patrón, pero todavía no lo he encontrado como
se hace, así que os pido ayuda para ello.

Un Saludo, Pedro.

Preguntas similares