搜索RegEx以将文本拆分为单词

本文关键字:拆分 单词 文本 RegEx 搜索 | 更新日期: 2023-09-27 18:23:40

我正在搜索一个RegularExpression来拆分它单词中的文本。我已经测试了

Regex.Split(text, @"'s+")

但这给了我一个的例子

this (is a) text. and
this
(is
a)
text
and

但我在寻找一个解决方案,它只给我单词——没有(,)。等它还应该像一样拆分文本

end.begin

总之。

搜索RegEx以将文本拆分为单词

试试这个:

Regex.Split(text, @"'W+")

'W'w的对应词,意思是字母数字。

与其拆分,不如匹配单词

如果使用Split(Regexident建议使用'W),则可以在开头和结尾获得一个额外的字符串。例如,输入字符串(a b)将为提供四个输出:"""a""b"和另一个"",因为您使用()作为分隔符

你可能想做的就是匹配单词。你可以这样做:

Regex.Matches(text, "''w+").Cast<Match>().Select(match => match.Value)

然后你只得到单词,在开头和结尾没有多余的空字符串。

你可以做:

var text = "this (is a) text. and";
// to replace unwanted characters with space
text = System.Text.RegularExpressions.Regex.Replace(text, "[(),.]", " ");
// to split the text with SPACE delimiter
var splitted = text.Split(null as char[], StringSplitOptions.RemoveEmptyEntries); 
foreach (var token in splitted) 
{           
    Console.WriteLine(token);
}

参见本Demo