string data = "THExxQUICKxxBROWNxxFOX";
var dataspt = data.Split("xx");
//>THE QUICK BROWN FOX
//the extension class must be declared as static
public static class StringExtension
{
public static string[] Split(this string str, string splitter)
{
return str.Split(new[] { splitter }, StringSplitOptions.None);
}
}
9 回答
要按字符串分割,您必须使用string array overload .
有一个带字符串的overload of Split .
您可以使用这些StringSplitOptions中的任何一个
None - 返回值包括包含空字符串的数组元素
RemoveEmptyEntries - 返回值不包含包含空字符串的数组元素
因此,如果字符串是"THExxQUICKxxxxBROWNxxFOX",
StringSplitOptions.None
将在"xxxx"部分的数组中返回空条目,而StringSplitOptions.RemoveEmptyEntries
则不会 .是我通常这样做的方式 . 当然你需要一个
但是我一直都需要那个lib .
String.Split的重载是这样的:
我通常喜欢使用自己的扩展名:
但是,如果Microsoft决定在更高版本中包含此方法重载,则会导致异常 . 这也是微软在此期间未包含此方法的可能原因:至少有一家我工作过的公司在所有C#项目中都使用了这种扩展 .
如果方法不存在,也可以在运行时有条件地定义该方法 .
以上答案都是正确的 . 我更进一步,通过在String上定义一个扩展方法让C#为我工作:
这样我可以用简单的方式在任何字符串上调用它,我天真地期望我第一次尝试完成此操作:
只需仔细选择替换字符(选择一个不太可能存在于字符串中的字符)!
最简单的方法是使用
String.Replace
:或者更简单:
这也很容易: