Mam problem z podziałem ciągu w języku C # z ogranicznikiem „] [”.
Na przykład ciąg „abc] [rfd] [5] [,] [.”
Powinien dać tablicę zawierającą;
abc
RFD
5
,
.
Ale nie wydaje mi się, aby to działało, nawet jeśli wypróbuję RegEx, nie mogę uzyskać podziału na separatorze.
EDYCJA: Zasadniczo chciałem rozwiązać ten problem bez potrzeby używania wyrażenia regularnego. Rozwiązanie, które akceptuję, to;
string Delimiter = "][";
var Result[] = StringToSplit.Split(new[] { Delimiter }, StringSplitOptions.None);
Cieszę się, że mogę rozwiązać to podzielone pytanie.
Odpowiedzi:
Aby pokazać oba
string.Split
iRegex
użycie:źródło
StringSplitOptions.None
ponadinput.Split(new string[] { "][" })
?String.Split("[]".ToCharArray())
to będzie podzielone przez oba [i] oddzielnie. Na przykład: Hello [World] Its [Me! brzmiałoby: Hello, World, Its, Me!źródło
Inna opcja:
Zastąp ogranicznik ciągu pojedynczym znakiem, a następnie podziel na ten znak.
źródło
string input = "abc][rf-d][5"
. „-” w „rf-d” zostanie przechwycony jako separator. Zamiast tego zobacz zaakceptowaną odpowiedź powyżej.Dim Levels As New List(Of String)(newSelectedTask.Replace(LevelDelimter, Chr(13)).Split(Chr(13)))
źródło