检查数组是否有类似我的文本的东西

本文关键字:文本 我的 数组 是否 检查 | 更新日期: 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);