我在c#中使用分隔符“] [”。
分割字符串时遇到问题例如字符串“abc] [rfd] [5] [,] [。”
应该产生一个包含的数组;
ABC
RFD
5
,
。
但是我似乎无法让它工作,即使我尝试RegEx我也无法在分隔符上进行拆分。
编辑:基本上我想解决这个问题,而不需要正则表达式。我接受的解决方案是;
string Delimiter = "][";
var Result[] = StringToSplit.Split(new[] { Delimiter }, StringSplitOptions.None);
我很高兴能够解决这个分裂问题。
答案 0 :(得分:235)
同时显示string.Split
和Regex
用法:
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"
*/