我有以下行将句子拆分为单词并将其存储到基于空格的数组中:string[] s = Regex.Split(input, @"\s+");
问题在于句子的结尾,它也会占用期限。例如:C# is cool.
代码将存储:
C#
is
cool.
问题是:如何让它不要接受这段时间?
答案 0 :(得分:5)
答案 1 :(得分:3)
您可以在正则表达式中添加点(和其他标点符号),如下所示:
string[] s = Regex.Split(input, @"(\s|[.;,])+");
答案 2 :(得分:2)
string[] s = Regex.Split(input, @"[^\w#]+");
您可能需要添加更多字符才能设置[^\w#]
,因此它会根据您的要求为您服务...
答案 3 :(得分:0)
使用非单词字符模式:\W
string[] s = Regex.Split(input, @"\W+");
答案 4 :(得分:0)
考虑使用Regex.Matches替代您的要求......
string[] outputMessage = Regex.Matches(inputMessage, @"\w+").Cast<Match>().Select(match => match.Value).ToArray();
祝你好运!