我拆分一个字符串基于空白如下:
string myStr = "The quick brown fox jumps over the lazy dog";
char[] whitespace = new char[] { ' ', '\t' };
string[] ssizes = myStr.Split(whitespace);
在我想要这样做的代码中处处定义char[]数组是令人厌烦的。有没有更有效的方法,不需要创建字符数组(如果复制到不同的地方,很容易出错)?
我拆分一个字符串基于空白如下:
string myStr = "The quick brown fox jumps over the lazy dog";
char[] whitespace = new char[] { ' ', '\t' };
string[] ssizes = myStr.Split(whitespace);
在我想要这样做的代码中处处定义char[]数组是令人厌烦的。有没有更有效的方法,不需要创建字符数组(如果复制到不同的地方,很容易出错)?
当前回答
如果问题在于重复相同的代码,那么在封装拆分逻辑的String类上编写一个扩展方法。
其他回答
根据文档:
如果分隔符参数为空或不包含字符,则假定空白字符为分隔符。空白字符由Unicode标准定义,如果传递给Char则返回true。IsWhiteSpace方法。
调用mystr。split ();不需要传入任何东西,因为separator是一个params数组。
你可以这样做:
string myStr = "The quick brown fox jumps over the lazy dog";
string[] ssizes = myStr.Split(' ');
MSDN有更多的例子和参考:
http://msdn.microsoft.com/en-us/library/b873y76a.aspx
你可以使用
var FirstString = YourString.Split().First();
拆分字符串,并获得其在空格之前的第一次出现。
如果问题在于重复相同的代码,那么在封装拆分逻辑的String类上编写一个扩展方法。
所以不要复制粘贴!提取一个函数来进行拆分并重用它。
public static string[] SplitWhitespace (string input)
{
char[] whitespace = new char[] { ' ', '\t' };
return input.Split(whitespace);
}
代码重用是你的朋友。