SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: pedroqv en Jueves 3 de Diciembre de 2009, 19:03
-
El ejemplo clasico de usar split es el siguiente:
char[] limit = new char[] {' '}; //Este es el caracter que va separar la frase en palabras
String frase= t1.Text; //Obtengo la frase de un TextBox
foreach (string palabra in frase.Split(limit)) //Recorro el split con un foreach
{
aviso.Text += palabra+" aa "; //Voy mostrando y concatenando las palabras, pero hasta la ultima palabra llevara aa
}
Pero yo tengo la siguiente restriccion, siempre que vaya a mostrar una palabra ya dividida le agregue " aa " excepto a la ultima palabra, ahi es donde me tope con el foreach porque no supe como preguntarle en que elemento va o cual es el ultimo, por tal motivo me tuve que aventar esta mexicanada:
List<String> lista = new List<String>(); //Creo una lista donde voy acumular las palabras separadas
char[] limit = new char[] {' '}; //Este es el caracter que va separar la frase en palabras
String frase= t1.Text; //Obtengo la frase de un TextBox
foreach (string palabra in frase.Split(limit)) //Recorro el split con un foreach
{
a.Add(palabra); //agrego cada palabra a mi Lista
}
//Ahora sigue mostrar las palabras que estan en la lista por medio de un for, porque puedo tener mas control sobre el.
for (int i = 0; i < a.Count; i++)
{
aviso.Text += a.ToString(); //Voy mostrando las palabras que van apareciendo en la lista.
if (i + 1 < a.Count) //Pregunto: todavia hay una siguiente palabra?
aviso.Text += " aa "; //entonces muestro aa despues de la palabra
}
//Nota la ultima palabra por no tener siguiente no se le agrega aa, ¿Como puedo realizar esto con el puro foreach u otra clase?
-
vamos ha hacerlo un poco mas facil:
char[] limit = new char[] {' '};
String frase= t1.Text;
String[] Seps =frase.Split(limit); //Con esto ya tenemos una matriz con las letras separadas y nos ahorramos ese forerch.
for( int i=0; i< Seps.lengh; i++)
{
aviso.Text += Seps;
if( i + 1 < Seps.lengh)
aviso.Text += " aa ";
}
Esto es lo que estabas buscando?? Espero te sirva, sino avisa y haber que hacemos, saludos
-
Si esto buscaba, solamente que no sabia que un arreglo estatico lo pudiera recibir.