代码之家  ›  专栏  ›  技术社区  ›  Derviş Kayımbaşıoğlu

使用Linq的字符串操作

  •  -6
  • Derviş Kayımbaşıoğlu  · 技术社区  · 7 年前

    我正在努力改变信仰 FOO BAR BAZ "GPCSC[", "N@@" 使用linq。

    我差一点就来了:

    var res2 = new String("FOO BAR BAZ ".ToList().Select((x, i) => x = (i % 2 == 0 ? ++x : --x )).ToArray());
    

    哪个输出

    我需要把这个字符串分成两部分,这样我的输出就可以

    `"GPCSC[", "N@@"`
    

    我还没弄清楚。

    小提琴链接: https://dotnetfiddle.net/ml8bOC

    1 回复  |  直到 7 年前
        1
  •  2
  •   dontpanic    7 年前

    您可能需要使用 GroupBy :

    string str = "GNPC@SC@[";
    
    var groups = str.Select((v, i) => new { Group = i % 3, Ch = v })
                    .GroupBy(item => item.Group == 1)
                    .Select(group => string.Join("", group.Select(item => item.Ch)))
                    .ToList();
    
    // groups: ["GPCSC[", "N@@"]