【发布时间】:2013-07-01 17:09:21
【问题描述】:
这是代码:
StringBuilder sb = new StringBuilder();
Regex rgx = new Regex("[^a-zA-Z0-9 -]");
var words = Regex.Split(textBox1.Text, @"(?=(?<=[^\s])\s+\w)");
for (int i = 0; i < words.Length; i++)
{
words[i] = rgx.Replace(words[i], "");
}
当我在做Regex.Split() 时,单词还包含带有字符的字符串,例如:
Daniel>
或
Hello:
或
\r\nNew
或
hello---------------------------
我只需要得到没有所有符号的单词
所以我尝试使用这个循环,但我总结说有很多地方有""
而有些地方只有------------------------
我不能在后面的代码中将其用作字符串。
【问题讨论】:
-
您可以使用正则表达式执行此操作,例如
(\w+|\s+)。这将为您提供所有单词(无数字)之间有一个或多个空格。 -
@Cort3z
\w为您提供字母、数字和下划线(或更多用于 Unicode)。如果你只想要字母,你可能想要[a-zA-Z] -
@JoeEnos 没错,完全忘记了。
-
@Cort3z 是的,我几天前也做过同样的事情。