我有以下行将句子拆分为单词并将其存储到基于空格的数组中:string[] s = Regex.Split(input, @"\s+");
使用正则表达式分隔单词?
问题出在句子末尾,它也提取句点。例如:C# is cool.
的代码将存储:
C#
is
cool.
的问题是:我如何得到它不拿起期?
我有以下行将句子拆分为单词并将其存储到基于空格的数组中:string[] s = Regex.Split(input, @"\s+");
使用正则表达式分隔单词?
问题出在句子末尾,它也提取句点。例如:C# is cool.
的代码将存储:
C#
is
cool.
的问题是:我如何得到它不拿起期?
您可以添加点(以及其他所需的标点符号)正则表达式,像这样:
string[] s = Regex.Split(input, @"(\s|[.;,])+");
我不明白你为什么不使用'[\ s。;,] +' – HamZa
@HamZa真的,那是一样的。这是我个人的偏好,把特殊的字符类放在方括号外,因为我认为它更具可读性。不过,我认为这是非常主观的。 – dasblinkenlight
string[] s = Regex.Split(input, @"[^\w#]+");
您可能需要添加更多的字符设置[^\w#]
,所以它会为您根据您的要求工作...
考虑使用Regex.Matches作为替代您的要求...
string[] outputMessage = Regex.Matches(inputMessage, @"\w+").Cast<Match>().Select(match => match.Value).ToArray();
祝你好运!
除了'\ s'之外,您还必须过滤其他字符。 –
你可以直接使用string [] s = input.replace(“。”,“”)。split(“”)? – Kairan