【发布时间】:2019-10-22 19:14:09
【问题描述】:
我想从我的列表中提取像aaa.a1 和aaa.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();
【问题讨论】:
-
长度是固定的吗?还是后面总是有空格?
-
不,它是可变的。但总有一个空间。
-
从您的示例中,它看起来前后总是有一个空格,所以为什么不使用 string.split(" ") 并检查是否有任何子字符串包含“aaa”
-
出于进一步提取的原因,我需要正则表达式。
-
如果您对我的解决方案有任何疑问,请告诉我。我认为你不能依赖
.Where(x => x.Contains(@"aaa.")),因为这会在任何上下文中检查aaa.,而在这里检查单词边界是有意义的。