例如,我需要解析这样的字符串: “你好,我的名字是 Boris,[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"
如果字符串中总是有方括号,这应该可以解决问题。
string str = "Hello, my name is Boris, [image1.jpg] i like drinking tea [img2.jpg]";
string[] Arr = str.Split(new char[] { '[', ']' }, StringSplitOptions.RemoveEmptyEntries);
您可以使用Replace
使所有“[”成为“]”,然后Split
使用它们,如下所示:
str = str.Replace("[", "]");
string[] Arr = str.Split(']');
使用正则表达式:
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();
}
这应该可以解决问题。
string[] strs = Regex.Split(str, "(?<Token>\[.*?\])", RegexOptions.Singleline)