C#怎样替换正则表达式匹配到的每个字符串?

比如:在一整段文本中将符合正则表达式exp1条件的每个字符串都替换为另一个字符串,替换过程要调用一个函数F(stringinstr){...............(转换... 比如:在一整段文本中将符合正则表达式exp1条件的每个字符串都替换为另一个字符串,替换过程要调用一个函数F(string instr){ ...............(转换方法)........return outstr;},参数instr是每一个符合正则表达式的字符串,返回转换后的字符串outstr,然后用转换后的字符串 替换 原来的字符串(原位置)。
可能我说的有点乱,具体不清楚的可以问我。
求解
展开
 我来答
自由de王国
2014-03-08 · TA获得超过1066个赞
知道小有建树答主
回答量:661
采纳率:50%
帮助的人:842万
展开全部
你可以先查找,再一个一个的替换,顺序应该是对应的
更多追问追答
追问
foreach (Match item_u in mat_u)
{
//item_u.Groups[1].Value=Regex.Replace(item_u.Groups[1].ToString(), @"((?<=#)\d+(?=;)*)", UtoChar(item_u.Groups[1].ToString()));
}
item_u.Groups[1].Value只读,怎么办?
追答

不是你这样。假如源字符串是s

foreach (Match item_u in mat_u)
{
 s=Regex.Replace(s, item_u.Groups[1].ToString(), UtoChar(item_u.Groups[1].ToString()));
}

不过如果item_u.Groups[1].ToString()里又正则的元字符的话,需要把元字符转义成普通字符。你可以搜一下Regex.Escape,或者自己写个函数处理

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式