我一直在使用Split()方法拆分字符串,但这似乎只在按字符拆分字符串时有效。有没有一种方法可以拆分一个字符串,另一个字符串作为拆分依据参数?
我尝试过将拆分器转换为字符数组,但没有成功。
换句话说,我想拆分字符串:
Thexx快速xx棕色xx FOX
通过xx,并返回一个值为的数组:
快,棕色,狐狸
我一直在使用Split()方法拆分字符串,但这似乎只在按字符拆分字符串时有效。有没有一种方法可以拆分一个字符串,另一个字符串作为拆分依据参数?
我尝试过将拆分器转换为字符数组,但没有成功。
换句话说,我想拆分字符串:
Thexx快速xx棕色xx FOX
通过xx,并返回一个值为的数组:
快,棕色,狐狸
当前回答
为了按字符串拆分,必须使用字符串数组重载。
string data = "THExxQUICKxxBROWNxxFOX";
return data.Split(new string[] { "xx" }, StringSplitOptions.None);
其他回答
这也很简单:
string data = "THExxQUICKxxBROWNxxFOX";
string[] arr = data.Split("xx".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
有一个String.Split重载:
"THExxQUICKxxBROWNxxFOX".Split(new [] {"xx"}, StringSplitOptions.None);
编辑:查看@Danation的答案,了解更新/更少的棋盘格过载
Split有一个接受字符串的重载。
"THExxQUICKxxBROWNxxFOX".Split(new [] { "xx" }, StringSplitOptions.None);
您可以使用以下任一StringSplitOptions
None—返回值包含数组包含空字符串的元素RemoveEmptyEntries-返回值不包括数组元素包含空字符串
因此,如果字符串为“THExxQUICKxxxxBROWNxxFOX”,StringSplitOptions.None将在数组中为“xxxx”部分返回一个空条目,而StringSplitOptions.RemoveEmptyEntries则不会。
string data = "THExxQUICKxxBROWNxxFOX";
return data.Replace("xx","|").Split('|');
只需仔细选择替换字符(选择一个不太可能出现在字符串中的字符)!
Regex.Split(string, "xx")
是我通常做的方式。
当然,您需要:
using System.Text.RegularExpressions;
or :
System.Text.RegularExpressions.Regex.Split(string, "xx")
但我还是需要那个图书馆。