c# - 使用正则表达式和 C# 拆分字符串并添加到列表

标签 c# regex string

我有一个字符串,其中单词数可能会有所不同。喜欢:

string a_string = " one two three four five six seven etc etc etc "; 

如何将字符串拆分为每个 5 个单词,并将每个单词添加到一个列表中,使其成为一个字符串列表(每个字符串包含 5 个单词)。我认为列表会更好,因为字符串中的单词数量可能会有所不同,因此列表可以相应地增长或缩小。

我尝试使用正则表达式通过下面的代码行获取前 5 个单词:

Regex.Match(rawMessage, @"(\w+\s+){5}").ToString().Trim();

但有点不确定如何进一步进行并动态、稳健地添加到列表。我想正则表达式可以进一步提供帮助,或者一些很棒的字符串/列表函数?你能指导一下吗?

最终,我希望 list[0] 包含“一二三四五”,list[1] 包含“六七等等等”,依此类推。谢谢。

最佳答案

var listOfWords = Regex.Matches(a_string, @"(\w+\s+){1,5}")
     .Cast<Match>()
     .Select(i => i.Value.Trim())
     .ToList();

关于c# - 使用正则表达式和 C# 拆分字符串并添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11879092/

相关文章:

regex - 如何使用正则表达式验证 1 到 99 之间的数字?

Java : Equals() does not compare right

Java 属性对象到字符串

c# - 如何从C#中的数组复制所有不同的元素

c# - 以编程方式删除缓存持久 Playready 许可证

c# - 为什么 CPU 使用率不增加?

使用查找命令的正则表达式

c# - 不能接受数据库的服务器名称

使用 RegExp 的 Javascript 正则表达式匹配

python3打印到字符串