我一直在使用Split()方法拆分字符串,但这似乎只在按字符拆分字符串时有效。有没有一种方法可以拆分一个字符串,另一个字符串作为拆分依据参数?

我尝试过将拆分器转换为字符数组,但没有成功。

换句话说,我想拆分字符串:

Thexx快速xx棕色xx FOX

通过xx,并返回一个值为的数组:

快,棕色,狐狸


当前回答

从.NET Core 2.0开始,有一个采用字符串的重写。

现在你可以做“THExxQUICKxxBROWNxxFOX”。拆分(“xx”)。

看见https://learn.microsoft.com/en-us/dotnet/api/system.string.split?view=netcore-2.0#System_String_Split_System_String_System_StringSplitOptions_

其他回答

有一个String.Split重载:

"THExxQUICKxxBROWNxxFOX".Split(new [] {"xx"}, StringSplitOptions.None);

从.NET Core 2.0开始,有一个采用字符串的重写。

现在你可以做“THExxQUICKxxBROWNxxFOX”。拆分(“xx”)。

看见https://learn.microsoft.com/en-us/dotnet/api/system.string.split?view=netcore-2.0#System_String_Split_System_String_System_StringSplitOptions_

为了按字符串拆分,必须使用字符串数组重载。

string data = "THExxQUICKxxBROWNxxFOX";

return data.Split(new string[] { "xx" }, StringSplitOptions.None);
string data = "THExxQUICKxxBROWNxxFOX";

return data.Replace("xx","|").Split('|');

只需仔细选择替换字符(选择一个不太可能出现在字符串中的字符)!

前面的答案都是正确的。我更进一步,通过在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");