可能重复:
C# 拆分字符串但保留拆分字符/分隔符
是否有一种简单的方法来执行 .Net 字符串 split() 函数,该函数会将原始拆分字符留在结果中?
这样:
"some text {that|or} another".Split('{','|','}');
将产生一个数组:
[0] = "some text "
[1] = "{"
[2] = "that"
[3] = "|"
...
最好没有正则表达式。
可能重复:
C# 拆分字符串但保留拆分字符/分隔符
是否有一种简单的方法来执行 .Net 字符串 split() 函数,该函数会将原始拆分字符留在结果中?
这样:
"some text {that|or} another".Split('{','|','}');
将产生一个数组:
[0] = "some text "
[1] = "{"
[2] = "that"
[3] = "|"
...
最好没有正则表达式。
看看这篇文章
正则表达式解决方案的第一个答案,非正则表达式解决方案的第二个答案......
在概念...
string source = "123xx456yy789";
foreach (string delimiter in delimiters)
source = source.Replace(delimiter, ";" + delimiter + ";");
string[] parts = source.Split(';');
您可能可以使用String.IndexOf Method (String, Int32)自行查找所有初始分隔符,并将它们与结果合并String.Split