c# 多個字串做分隔符, 雖然可以用正則做分隔符, 但是遇到特殊符號還真不好寫.自己寫了一個.
阿新 • • 發佈:2018-11-16
[TestMethod]
public void TestMethod2()
{
string str = "aaa|||bbb|||ccc";
var rr= MySplit(str, "|||");
str = "aaa|||bbb|||ccc|||ccc|||ccc|||ccc|||dddddddfewfwefwefwe";
rr = MySplit(str, "|||");
str = "aaa345534534534534ddddfewfwefwefwe" ;
rr = MySplit(str, "|||");
}
public List<string> MySplit(string sourcestr, string splitstr)
{
List<string> res = new List<string>();
int sln = sourcestr.Length;
int ln = splitstr.Length;
int start = 0 ;
for (int i = 0; i <sln; i++) {
bool issplitstr = true;
//判斷後面一部分是不是分割字串
for (int j = 0; j < ln; j++) {
if (sourcestr[i+j] == splitstr[j] ) {
continue;
} else {
issplitstr = false ;
break;
}
}
if (issplitstr){
res.Add( sourcestr.Substring(start, i - start) );//加入新的分割字串
start = i+ln;//+ln 跳過分割符本身
}
}
res.Add(sourcestr.Substring(start, sln-start));//加速最後一段,或者無分隔符的一段
return res;
}