Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Edu en 19 Febrero 2011, 20:45 pm



Título: Ayuda con string.Split() C#
Publicado por: Edu en 19 Febrero 2011, 20:45 pm
Bueno a ver si me pueden decir q hago mal, intente usar el split comun pero no hay caso y me dijieron algo de usar el reg exp y entonces intente esto pero igual no hace nada.. Como uso el split? :S esq si fuera dividir entre un caracter si sabria hacerlo ya q el problema mio es q pido char[] como parametro y en este caso quiero dividir entre mas de un caracter.
Intente convertirlo , etc y nada :S
Código
  1. private void button2_Click(object sender, EventArgs e)
  2.        {
  3.  
  4.            string texto = "Hola·$%&%Como·$%&%Andas";
  5.            string[] LINE = Regex.Split(texto, "·$%&%");
  6.  
  7.  
  8.  
  9.            MessageBox.Show(LINE[0]);
  10.  
  11.        }
  12.  
Espero q alguien me corriga ese problemita ;)


Título: Re: Ayuda con string.Split() C#
Publicado por: [D4N93R] en 20 Febrero 2011, 13:40 pm
Hola,

Estas son las sobrecargas de Split:

Pasando como parámetro un Char[]
    Split(Char[])    
    Split(Char[], Int32)    
    Split(Char[], StringSplitOptions)
    Split(Char[], Int32, StringSplitOptions)

Pasando como parámetro un String[]
    Split(String[], StringSplitOptions)    
    Split(String[], Int32, StringSplitOptions)


Entonces, si lo que quieres es hacer split segun un string, siempre tendrás que pasar un string[] aunque sea con un solo item, entonces harías algo asi:

Código
  1. //la cadena a separar
  2. string source = "Hola·$%&%Como·$%&%Andas";
  3.  
  4. //creo un array de string con un elemento
  5. string[] stringSeparators = new string[] {"·$%&%"};
  6.  
  7. //ejecutamos usando StringSplitOptions.RemoveEmptyEntries, el cual nos eliminará
  8. //partes que estén sin texto. Si no lo quieres puedes usar StringSplitOptions.None
  9. string[] partes = source.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);
  10.  
  11. //te mostrará Hola
  12. MessageBox.Show(partes[0]);
  13.  
  14.  


Lo de las expresiones regular es similar, pero en vez de pasarle un string o un string[], tienes que pasarle un string con una Expresion regular, sino no funciona.

Un saludo!


Título: Re: Ayuda con string.Split() C#
Publicado por: Edu en 20 Febrero 2011, 20:32 pm
Gracias!
Resulta q en mis intentos me faltaba poner StringSplitOptions.RemoveEmptyEntries ja
Muchas gracias en serio.