我需要解析例如这样的字符串: “你好,我的名字是鲍里斯,[image1.jpg]我喜欢喝茶[img2.jpg]”
我希望获得字符串数组:
Arr[0] ="Hello, my name is Boris, "
Arr[1] ="image1.jpg"
Arr[2] =" i like drinking tea "
Arr[3] ="img2.jpg"
答案 0 :(得分:5)
如果字符串中总是有方括号,这应该可以解决问题。
string str = "Hello, my name is Boris, [image1.jpg] i like drinking tea [img2.jpg]";
string[] Arr = str.Split(new char[] { '[', ']' }, StringSplitOptions.RemoveEmptyEntries);
答案 1 :(得分:0)
你可以使用Replace
使所有“[”成为“]”,然后使用Split
,就像这样:
str = str.Replace("[", "]");
string[] Arr = str.Split(']');
答案 2 :(得分:-1)
使用正则表达式:
var regex = new Regex(@"(.+)\[(.+)\](.+)\[(.+)\]");
Match match = regex.Match("");
if (match.Success) {
match = match.NextMatch();
string[] parts = match.Groups.Cast<Group>().Where(x => x.Success).Select(x => x.Value).ToArray();
}
答案 3 :(得分:-1)
这应该可以解决问题。
string[] strs = Regex.Split(str, "(?<Token>\[.*?\])", RegexOptions.Singleline)