gpt4 book ai didi

c# - Linq 使用正则表达式选择

转载 作者:行者123 更新时间:2023-12-02 14:34:07 57 4
gpt4 key购买 nike

我想从列表中提取 aaa.a1aaa.a2 等字符串。所有这些字符串都包含“aaa.”

如何将 Regex 与 Linq 结合起来?

var inputList = new List<string>() { "bbb aaa.a1 bbb", "ccc aaa.a2 ccc" };

var result = inputList.Where(x => x.Contains(@"aaa.")).Select(x => x ???? ).ToList();

最佳答案

您可以使用

var inputList = new List<string>() { "bbb aaa.a1 bbb", "ccc aaa.a2 ccc" };
var result = inputList
.Select(i => Regex.Match(i, @"\baaa\.\S+")?.Value)
.Where(x => !string.IsNullOrEmpty(x))
.ToList();
foreach (var s in result)
Console.WriteLine(s);

输出:

aaa.a1
aaa.a2

参见C# demo

Regex.Match(i, @"\baaa\.\S+")?.Value 部分尝试匹配每个项目中的以下模式:

  • \b - 单词边界
  • aaa\. - aaa. 子字符串
  • \S+ - 1 个以上非空白字符。

.Where(x => !string.IsNullOrEmpty(x)) 将丢弃由没有匹配字符串的项目产生的空项目。

关于c# - Linq 使用正则表达式选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56491616/

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