我需要解析例如以下字符串:
"你好,我的名字是鲍里斯,[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"
我需要解析例如以下字符串:
"你好,我的名字是鲍里斯,[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(']');
']'
。实际上,它在其他情况下也可以工作 +1 - undefinedstring[] strs = str.Split(']');
很好的解决方案。 - undefined 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)
@
)。此外,这将导致一个由5个元素而不是4个元素组成的数组。 - undefined