我如何能做一个正则表达式分割组值

本文关键字:正则表达式 一个 分割 何能做 | 更新日期: 2023-09-27 18:16:13

我试图做一个正则表达式分割,但我的代码不工作。

我不知道这怎么正确。

string input = "code1,code2,#c55+G35+G97#g,coden,code3,code4,#c44+A25+A07#gcoden";
string output = Regex.Replace(
     input,
     "#c(.*?)#g",
      m => m.Groups[1].Value 
         + m.Groups[2].Value.Regex.Split(@"+'w").Sum(v => int.Parse(v)) + "#" );

+'w匹配"+A"answers"+G"

我的错误被抛出在这行:m => m.Groups[1].Value + m.Groups[2].Value.Regex.Split(@"+'w").Sum(v => int.Parse(v)) + "#" );

误差

包含。Group'不包含'Regex'的定义,也没有扩展方法'Regex'接受类型为' system . text . regulareexpressions '的第一个参数。可以找到组'(您是否缺少using指令或程序集引用?)(CS1061) -

ERROR2

无法将lambda表达式转换为类型"字符串",因为它不是委托类型(CS1660)

如何使用正则表达式分割?

这是我想要的输出

code1、code2 # c55 + 35 + 97 # g187 #,酵母,code3 code4 # c44 + 25 + 7 # g76 #酵母

请帮帮我

我如何能做一个正则表达式分割组值

 using System;
     using System.Text;
        using System.IO;
           using System.Linq;
     using System.Text.RegularExpressions;
   class Program

   {
     static void Main()
     {
        string input =   "code1,code2,#c55+G35+G97#g,coden,code3,code4,#c44+A25+A07#gcoden";
  string output = Regex.Replace(
    input,
    "(#c(.*?)#g)",
    m => m.Groups[1].Value + Regex.Split(m.Groups[2].Value, @"'+'w").Sum(v => int.Parse(v)) + "#" );
 Console.WriteLine(output);

  }
      }

谢谢你的回答Johnny Mopp

相关文章: