web-dev-qa-db-ja.com

string.split-複数の文字区切り文字による

「] [」の区切り文字でc#の文字列を分割するのに問題があります。

たとえば、文字列「abc] [rfd] [5] [、] [。」

を含む配列を生成する必要があります。
abc
rfd
5

しかし、RegExを試しても、デリミタで分割することはできません。

編集:基本的に、正規表現を必要とせずにこの問題を解決したかったのです。私が受け入れる解決策は次のとおりです。

string Delimiter = "][";  
var Result[] = StringToSplit.Split(new[] { Delimiter }, StringSplitOptions.None);

この分割された質問を解決できることを嬉しく思います。

134
enricco

string.SplitRegexの両方の使用法を表示するには:

string input = "abc][rfd][5][,][.";
string[] parts1 = input.Split(new string[] { "][" }, StringSplitOptions.None);
string[] parts2 = Regex.Split(input, @"\]\[");
244
Marc Gravell
string tests = "abc][rfd][5][,][.";
string[] reslts = tests.Split(new char[] { ']', '[' }, StringSplitOptions.RemoveEmptyEntries);
29
SwDevMan81

別のオプション:

文字列の区切り文字を単一の文字に置き換え、その文字で分割します。

string input = "abc][rfd][5][,][.";
string[] parts1 = input.Replace("][","-").Split('-');
11
seabass2020
Regex.Split("abc][rfd][5][,][.", @"\]\]");
2