2011-11-08 20 views
5

Estoy utilizando el código siguiente para dividir una cadena:no se puede convertir de 'cadena' a 'char []' para dividir

string sss="125asdasdlkmlkdfknkldj125kdjfngdkjfndkg125ksndkfjdks125"; 

List<String> s = new List<String>(sss.Split("125")); 

Sin embargo, he recibido un error de compilación tiempo:

cannot convert from 'string' to 'char[]'

¿Cuál es la forma correcta de dividir una cadena por otra cadena?

+0

He avanzado y he actualizado su código para leer 'sss.Split' en lugar de' sss.split', que 60% del tiempo es un error de sintaxis cada vez. Por favor, avíseme si esto es incorrecto. – user7116

Respuesta

23

No hay sobrecarga para String.Split which takes just a string, en lugar de utilizar el siguiente valor más cercano:

List<string> s = new List<string>(
    sss.Split(new string[] { "125" }, StringSplitOptions.None); 
+0

Muy útil. Solo necesito un extra ")" al final. – smoore4

6

Usted puede simplemente crear un char []:

List<String> s = new List<String>(sss.split(new char[] {'1', '2', '5'})) 

o

List<String> s = new List<String>(sss.split("125".ToCharArray())); 

Más información: http://msdn.microsoft.com/en-us/library/ezftk57x.aspx

+0

OP quiere dividir tanto en 125, no 1, o 2 o 5 – manojlds

1

Usar una matriz de cadenas:

sss.Split(new[]{"125"},StringSplitOptions.None) 

O StringSplitOptions.RemoveEmptyEntries si no quieren una cadena en blanco para antes del primer 125.

2

Eso depende de lo que desea lograr. Si desea dividir a la cadena "125" y luego hacer

sss.split(new[]{"125"},StringSplitOptions.RemoveEmptyEntries); //or StringSplitOptions.None 

si desea dividir en cualquier ocurrencia de 1, 2 ó 5 a continuación, hacer

sss.split(new[]{'1','2','5'}); 
0

Prueba esto:

//string = "friend&mom&dad&brother" 
    string.Split('&')[int]; 
//string.Split('&')[0] = "friend"<br> 
//string.Split('&')[1] = "mom"<br> 
//string.Split('&')[2] = "dad"<br> 
//string.Split('&')[3] = "brother"<br> 
+0

¿Has intentado ejecutar esto? Lo intenté y obtuve "Demasiados caracteres en el carácter literal" – mickadoo

Cuestiones relacionadas