日期:2014-05-18  浏览次数:20420 次

◆◆◆ “过客”进来帮忙解决一下,正则问题 ◆◆◆
想把字符串中的A这样的字符转成实际代表的A(只想转ASCII   0-127)

htmlString   =   Regex.Replace(htmlString,   @ "&#0{0,8}(12[0-7]|1[01][0-9]|[1-9]?[0-9]);? ",   ((char)int.Parse( "$1 ")).ToString());

现在的问题是我怎么在函数中引用$1,象上面的这种情况会报错,但如果是下面这样的情况就不会,比如:

htmlString   =   Regex.Replace(htmlString,   @ "&#0{0,8}(12[0-7]|1[01][0-9]|[1-9]?[0-9]);? ",   "$1 "   +   "ABC ");

难道我如果想引用$1并进行一些运算,就必须使用MatchEvaluator委托,然后再定义一个方法来处理?

直接在一个语句中不可以吗?如果可以,怎么来处理?先谢谢了

------解决方案--------------------
不好意思,才看到

这种情况就要用委托来做了,因为在Regex.Replace的重载方法里,对匹配结果直接能做的处理,就只有拼接字符串的操作,要对匹配的内容做进一步操作,就只有用委托了