在字符串数组中查找下一个匹配项的索引和值

托比亚斯·穆勒

我一直在寻找很长时间,以找到比我更智能的解决方案,以收集数组中项目的索引和值。我无法直接搜索该项目,因为字符串中总会有一些其他字符。这是我想要做的一个例子。

// logcontent = ["f", "red", "frs", "xyr", "frefff", "xdd", "to"]
string lineData = "";
int lineIndex = 0;
foreach (var item in logContent.Select((value, index) => new { index, value }))
{
    string line = item.value;
    var index = item.index;

    if (line.Contains("x"))
    {
        lineData = line;
        lineIndex = index; 
        break;
    }
}

我只想得到下一个项目

lineData = "xyr";
lineIndex = 3;
吉拉德格林

使用 linq 的FirstOrDefault

var result = logContent.Select((value, index) => new { index, value })
                       .FirstOrDefault(item => item.value.Contains("x"));

如果没有这样的项目,你会得到null

如果使用 C# 7.0,您可以使用命名元组

(int lineIndex, string lineData) = logcontent.Select((value, index) => (index, value))
                                             .FirstOrDefault(item => item.value.Contains("x"));

然后 o 带有lineIndexlineData直接的东西,就像你使用原始版本一样

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

查找数字字符串下一个回文的更好算法

如何获取字符串数组中的下一个按钮

在1和0的字符串中查找0的第一个匹配项

如何使用LINQ在列表中查找下一个匹配元素的索引

使用子字符串来保留字符串的上一个和下一个索引,而无需在Java中使用数组

使用angularjs中的另一个(键,值)对象过滤字符串数组中的匹配项

查找字符串中下一个出现的位置

查找具有真实值的下一个数组索引C ++

如果它的UUID与字符串(autoIncrement)匹配,我如何移动到数组中的下一个项目

查找下一个较小和下一个较大的值

用替换字符串列表中的下一个项目替换匹配项

正则表达式返回匹配项加上字符串直到下一个匹配项

正则表达式匹配字符串中的任何字符,直到下一个匹配为止

如何在JSON文件中查找字符串,然后在列表中获取下一个?

如何匹配字符串和下一个空格之间的所有内容

在oracle中获取上一个匹配项和下一个匹配项

选择字符串中的上一个和下一个单词

使用php查找字符串的下一个实例

如果匹配成功,则在列中搜索字符串并复制下一个列的值

上一个和下一个按钮将字符串从WebView中的数组中加载出来

数组中基于字符串“ direction”的上一个或下一个元素

匹配以([*> @] |-)开头的字符串,其中以下一个

在包含值的字符串数组中查找字符串的最后一个索引

在字符串中搜索子字符串并返回下一个单词

Excel在表列中查找下一个匹配项

如何使用 sed 命令从匹配的字符串中删除行直到下一个匹配

正则表达式从字符串到下一个期间匹配

在字符串列表中寻找下一个匹配项(整数)

正则表达式返回匹配括号中的特定字符串并返回其在括号中的下一个和前一个字符串