我有一个像
这样的字符串列表 var target = new List<string>() { "C", "C-sharp", "java" };
我有一个字符串请求= “C是一种编程语言”
此列表应与字符串匹配,并应返回
C,C-sharp
我该怎么做?
答案 0 :(得分:3)
这是linq的解决方案
var m = from t in target
where t[0] == 'C'
select t;
答案 1 :(得分:2)
使用Linq和String.Contains
:
var filtered = target.Where(str => str.Contains("C"));
没有Linq的另一个选择是使用List<T>.RemoveAll
更改现有列表:
target.RemoveAll(str => !str.Contains("C"));
如果你真的需要正则表达式(对于更复杂的东西),你也可以使用:
Regex validate = new Regex(".a.", RegexOptions.IgnoreCase);
var filtered = target.Where(str => validate.Match(str).Success);