我一直在使用Split()方法拆分字符串,但这似乎只在按字符拆分字符串时有效。有没有一种方法可以拆分一个字符串,另一个字符串作为拆分依据参数?
我尝试过将拆分器转换为字符数组,但没有成功。
换句话说,我想拆分字符串:
Thexx快速xx棕色xx FOX
通过xx,并返回一个值为的数组:
快,棕色,狐狸
我一直在使用Split()方法拆分字符串,但这似乎只在按字符拆分字符串时有效。有没有一种方法可以拆分一个字符串,另一个字符串作为拆分依据参数?
我尝试过将拆分器转换为字符数组,但没有成功。
换句话说,我想拆分字符串:
Thexx快速xx棕色xx FOX
通过xx,并返回一个值为的数组:
快,棕色,狐狸
当前回答
这也很简单:
string data = "THExxQUICKxxBROWNxxFOX";
string[] arr = data.Split("xx".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
其他回答
最简单的方法是使用字符串。替换:
string myString = "THExxQUICKxxBROWNxxFOX";
mystring = mystring.Replace("xx", ", ");
或者更简单地说:
string myString = "THExxQUICKxxBROWNxxFOX".Replace("xx", ", ");
首先创建此函数。
string[] xSplit(string str, string sep) {
return str.Split(new [] {sep}, StringSplitOptions.None);
}
然后像这样使用。
xSplit("THExxQUICKxxBROWNxxFOX", "xx");
有一个String.Split重载:
"THExxQUICKxxBROWNxxFOX".Split(new [] {"xx"}, StringSplitOptions.None);
前面的答案都是正确的。我更进一步,通过在String:
public static class Extensions
{
public static string[] Split(this string toSplit, string splitOn) {
return toSplit.Split(new string[] { splitOn }, StringSplitOptions.None);
}
}
这样,我就可以在任何字符串上调用它,就像我第一次尝试实现这一点时天真地期望的那样:
"a big long string with stuff to split on".Split("g str");
这也很简单:
string data = "THExxQUICKxxBROWNxxFOX";
string[] arr = data.Split("xx".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);