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.Splity suRegexuso:fuente
StringSplitOptions.Nonemá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