我如何能做一个正则表达式分割组值
本文关键字:正则表达式 一个 分割 何能做 | 更新日期: 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