【发布时间】:2020-07-15 14:05:15
【问题描述】:
我正在处理一个要求,我需要将字符串中的所有单词放入数组中。 “单词”被描述为任何非空格字符序列。 字符串中可以有任意数量的空白字符。
输入示例:
" Hello World!! "
"Hello World!!"
" Hello World!! "
在上述所有情况下,输出应该是 ["Hello","World!!"]
现在我尝试自己解决这个例子并有以下代码:
public string[] GetWords(string s)
{
s=s.Trim();
while(s.Contains(" "))
{
s = s.Replace(" ", " ");
}
string[] input=s.Split(' ');
return input;
}
我使用上面的代码得到了正确的结果。我担心有什么方法可以使代码变得干净或比现在更优化。
【问题讨论】:
-
“干净”的定义可能是基于意见的。对于“优化”,您还需要指定哪种方式:快?内存占用小?小代码?
-
string.Split(' ', StringSplitOptions.RemoveEmptyEntries)是个好主意 -
@dymanoid 我正在寻找的结果比我执行的步骤少。
-
@Homungus 谢谢,你的解决方案对我有用
-
同样没有 RegEx,适应:stackoverflow.com/questions/58734248/…