检查数组是否有类似我的文本的东西
本文关键字:文本 我的 数组 是否 检查 | 更新日期: 2023-09-27 18:11:38
我有一个字符串数组。我需要检查数组中是否有类似"abcd"的东西。如何在c#中实现这一点。我试着用
var pathBits = new[] {"abcde ","abcd &"};
var item ="abcd";
var results = Array.FindAll(pathBits, s => s.Equals(item ));
可以这样写:
var result = pathBits.Any(y => y.Contains(item));
如果数组中包含一个值为item
的项,则返回true。如果你想选择所有这些值,你应该使用:
var result = pathBits.Where(y => y.Contains(item));
,它将为您提供列表中包含值item
的项目的IEnumerable
。
当你说'像"abcd"'你是指"以"开头还是"包含"?
当前代码只会在pathBits中找到恰好等于item ("abcd" ?)的字符串
一般形状很好,但要找到非精确匹配,您需要更改谓词
。
string[] src = new[] { "abcde", "abcd &" };
var results = Array.FindAll<string>(src, name => name.Contains("abcd"));
这也可以使用Linq IEnumerable<>扩展
来实现。
string[] src = new[] { "abcde", "abcd &" };
var results = src.Where(name => name.Contains("abcd"));
hth,艾伦。
这可能有点用
string[] pathBits = { "abcde ", "abcd &" };
var item = "abcd";
if (pathBits.Contains(item)) ;
{
}
不能使用
var pathbits = { "abcde ", "abcd &" };
如果有任何问题请告诉我
这是你想要的吗?
string[] pathBits = { "abcde ", "abcd &", "222" };
var item = "abcd";
var results = Array.FindAll<string>(pathBits, s => s.Contains(item));
results将有2个条目
我不确定你到底想要什么,但这将获得包含字符串"abcd" -
的所有数组元素String[] pathBits = {"abcde ","abcd &"};
var item ="abcd";
var results = pathBits.Where(s => s.IndexOf("abcd") > -1);