Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.
En este post de programación en C# te mostraré cómo separar una cadena según un carácter o delimitador, y convertirla a arreglo.
Te voy a enseñar cómo separar una cadena por espacios y por comas, para que puedas aplicar todo esto a tus necesidades con cualquier otro carácter.
Esto nos servirá para separar una cadena por cualquier carácter en c#, y de paso convertir una string a array en C sharp.
A esta operación se le llama Split, y básicamente convierte una cadena a arreglo usando un conjunto de caracteres como separadores. Yo solo te enseñaré a usar un separador a la vez. La sintaxis es:
arreglo_de_cadenas = cadena.Split(separador)
Te mostraré ejemplos a continuación.
Supongamos que queremos extraer todas las palabras de una cadena usando C#. De manera simple podemos usar el espacio como separador de las mismas. El siguiente código hace ese trabajo:
En la línea 1 defino la cadena, después la separo invocando a Split
en la línea 2. Fíjate que debemos enviar un arreglo de caracteres o de cadenas (en este caso le envío uno de caracteres) con todos lo caracteres que queremos usar como delimitadores.
Como en este caso solo quiero separar usando el espacio, el arreglo solo tiene una entrada que es ' '
.
Finalmente estoy imprimiendo todas las palabras en la línea 5. Si quieres puedes probar el ejemplo en este enlace.
Veamos el último ejemplo: cómo convertir una cadena a arreglo separándola por comas. En este caso vamos a suponer que tenemos una columna de un archivo CSV que tiene el nombre, precio y existencia de un producto en la misma línea separada por comas.
Para acceder a los datos podemos separarla usando ,
como el delimitador, invocar a Split
, después acceder al arreglo y convertir los datos. El código completo queda así:
Obviamente este no es un ejemplo para parsear un CSV, solo te estoy dando un ejemplo sencillo de código C# para separar una cadena según un delimitador.
Puedes probar el código en este enlace, y por aquí puedes aprender más de C#.