gpt4 book ai didi

C# 正则表达式获取 4 到 10 个字符之间的单词

转载 作者:行者123 更新时间:2023-12-02 14:52:45 25 4
gpt4 key购买 nike

我正在尝试获取字符串中的所有单词,长度至少为 4 个字符且少于 10 个字符。当我使用以下正则表达式时,它只是将整个字符串作为一个单词返回。您能看一下下面的示例并告诉我应该如何编写这个正则表达式吗?

string result = "Overfishing, erosion and warmer waters are feeding jellyfish blooms in coastal regions worldwide. And they're causing damage"
string[] words = Regex.Split(result, @"[\W]{4,10}");

foreach (string line in words)
{
Console.WriteLine(line);
}

最佳答案

您的代码不起作用,因为该模式仅匹配 4 到 10 个连续非单词字符的序列,这些字符不会出现在字符串中。因此,Regex.Split 仅返回一个包含原始字符串的数组。

尝试使用此模式:

\b\w{4,10}\b

例如:

string[] words = Regex.Matches(result, @"\b\w{4,10}\b")
.Cast<Match>()
.Select(m => m.Value)
.ToArray();

这将匹配由单词边界包围的 4 到 10 个连续单词字符的任何序列。

关于C# 正则表达式获取 4 到 10 个字符之间的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19971750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com