日期:2014-05-18  浏览次数:20750 次

字符串轉為字符串數組?
如以下字符串
401   PC     1.00000             500             0                 0                             500110-375-R
現需要得到字符串數組{401,PC,1.00000,500,0,0,500110-375-R}
如何實現?我用Split( '   ')得不到期望的值。字符串中間的空格數目不定。

謝謝



------解决方案--------------------
DING
------解决方案--------------------
string test = "401 PC 1.00000 500 0 0 500110-375-R ";
string[] pieces = Regex.Split(test, @ "\s+ ");
string result = string.Empty;
foreach (string piece in pieces)
{
result += piece + ", ";
}
result = result.TrimEnd( ', ');
------解决方案--------------------
将两个空格用一个空格代替,知道不具有两个空格为止。
string temp= "401 PC 1.00000 500 0 0 500110-375-R ";
多执行几次
if(temp.CharIndexOf( ' ')> 0)
{
temp=temp.Replace( ' ', ' ');
}
然后再用split( ' ')分离
------解决方案--------------------
其实用Split( ' ')是可以实现的。。
在用Split( ' ')之后,再用Trim()方法把空格去掉就得到了想要的值了。
string ss = "401 PC 1.00000 500 0 0 500110-375-R ";
string splic = " ";
string[] temp = ss.Split(splic.ToCharArray());

ArrayList listResult = new ArrayList();
foreach (string str in temp)
{
if (str.Trim() != " ")
listResult.Add(str);
}
其中listResult就是想要的结果了。。。
------解决方案--------------------
spil( ' ')
後做循环,再用trim()方法吧空格去掉
------解决方案--------------------
zh_li_(我爸的儿子)的代码可行。
------解决方案--------------------
同意
spil( ' ')
後做循环,再用trim()方法吧空格去掉

------解决方案--------------------
string s = "a b c d e ";
string[] ct = s.Split(new string[] { " "}, StringSplitOptions.RemoveEmptyEntries);
这样就可以了。