Tengo problemas para dividir una cadena en C # con un delimitador de "] [".
Por ejemplo, la cadena "abc] [rfd] [5] [,] [."
Debe producir una matriz que contenga;
abc
RFD
5
,
.
Pero parece que no puedo hacer que funcione, incluso si intento RegEx no puedo obtener una división en el delimitador.
EDITAR: esencialmente quería resolver este problema sin la necesidad de una expresión regular. La solución que acepto es;
string Delimiter = "][";
var Result[] = StringToSplit.Split(new[] { Delimiter }, StringSplitOptions.None);
Me alegra poder resolver esta pregunta dividida.
Respuestas:
Para mostrar ambos
string.Split
y suRegex
uso:fuente
StringSplitOptions.None
másinput.Split(new string[] { "][" })
?String.Split("[]".ToCharArray())
esto se dividiría por ambos [y] por separado. Por ejemplo: Hola [Mundo] ¡Es [Yo! sería: ¡Hola, mundo, soy yo!fuente
Otra opción:
Reemplace el delimitador de cadena con un solo carácter, luego divídalo en ese carácter.
fuente
string input = "abc][rf-d][5"
. El "-" en "rf-d" se capturará como delimitador. Ver la respuesta aceptada arriba en su lugar.Dim Levels As New List(Of String)(newSelectedTask.Replace(LevelDelimter, Chr(13)).Split(Chr(13)))
fuente