En muchas ocasiones me he preguntado como hacen los sitios Web para separar los Tags (Palabras Claves) e incluirlo en la base de datos y que a la hora de hacer una búsqueda se pueden usar estos Tags como una base, es decir, Este articulo le di los siguientes Tags: VB, Csharp. como puedo yo buscar por un Tags en especifico si al momento de escribir el articulo solo había una caja de texto y un mensaje que decir: si son varios Tags, deben separarse con comas.
Pues dándole la vuelta me encontré con el método llamado System.String.Split, el cual este devuelve una matriz de cadenas en la que cada elemento es una palabra. Como entrada el Split toma una matriz de caracteres que indican los caracteres que se utilizan como delimitadores.
Aquí podremos usar los siguientes delimitadores:
- La Coma: ‘,’
- El Punto: ‘.’
- El Espacio: ‘ ‘
- El Tabulador: ‘t’
- Dos Puntos: ‘:’
- El Punto y Coma: ‘;’
- Comillas Dobles: ‘ » ‘
Al menos con esos he probado y me ha funcionado, así que aquí les dejo el código en Visual Basic y en C#. Recuerden que en C# al definir la matriz de Delimitadores cada delimitador debe estar entre comillas simples, ya que si lo hacen con comillas dobles le dará un error de tipo «string no es convertible a Char»
En Visual Basic no sucede lo mismo.
Visual Basic
'Se define los Delimitadores - Ojo cada delimitador entre comillas
'dobles y separados por el +
Dim Delimitadores As Char() = ":" + "'" + "," + "." + ";" + "'"
'Declaro la Matriz y le asigno el valor que proviene de un TextBox
'Fijense en el metodo Split le digo cuales son los char[] que evaluara
Dim strMatriz As String() = TextBox1.Text.Split(Delimitadores)
'Y para visualizar el resultado lo mostramos en un GridView
Me.GridView1.DataSource = strMatriz
Me.GridView1.DataBind()
Visual Csharp
//Se define los Delimitadores - Ojo cada delimitador entre comillas simple
char[] Delimitadores = { ' ' , ',', '.', ':', 't', ';', '"' };
//Declaro la Matriz y le asigno el valor que proviene de un TextBox
//Fijense en el metodo Split le digo cuales son los char[] que evaluara
string[] strMatriz = TextBox1.Text.Split(Delimitadores);
//Y para visualizar el resultado lo mostramos en un GridView
this.GridView1.DataSource = strMatriz;
this.GridView1.DataBind();
Hasta una próxima ocasión que siga publicando mas trucos.
Nota: Estos códigos pueden servir para aplicaciones Windows solo deben cambiar el lugar donde mostraran el resultado.