string.split - 由多个字符分隔符组成

时间:2009-08-10 12:26:24

标签: c# split

我在c#中使用分隔符“] [”。

分割字符串时遇到问题

例如字符串“abc] [rfd] [5] [,] [。”

应该产生一个包含的数组;
ABC
RFD
5

但是我似乎无法让它工作,即使我尝试RegEx我也无法在分隔符上进行拆分。

编辑:基本上我想解决这个问题,而不需要正则表达式。我接受的解决方案是;

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

我很高兴能够解决这个分裂问题。

5 个答案:

答案 0 :(得分:235)

同时显示string.SplitRegex用法:

string input = "abc][rfd][5][,][.";
string[] parts1 = input.Split(new string[] { "][" }, StringSplitOptions.None);
string[] parts2 = Regex.Split(input, @"\]\[");

答案 1 :(得分:28)

string tests = "abc][rfd][5][,][.";
string[] reslts = tests.Split(new char[] { ']', '[' }, StringSplitOptions.RemoveEmptyEntries);

答案 2 :(得分:11)

另一种选择:

将字符串分隔符替换为单个字符,然后拆分该字符。

string input = "abc][rfd][5][,][.";
string[] parts1 = input.Replace("][","-").Split('-');

答案 3 :(得分:2)

Regex.Split("abc][rfd][5][,][.", @"\]\]");

答案 4 :(得分:0)

直接使用无字符串数组但使用字符串的更快速方法:

string[] StringSplit(string StringToSplit, string Delimitator)
{
    return StringToSplit.Split(new[] { Delimitator }, StringSplitOptions.None);
}

StringSplit("E' una bella giornata oggi", "giornata");
/* Output
[0] "E' una bella giornata"
[1] " oggi"
*/