日期:2014-05-19  浏览次数:20691 次

请教大家一个正则表达式的写法
有一个字符串诸如:
<Name> </Name> <Age> </Age> <Objectives> ..... </Objectives> <Objectives> ..... </Objectives> <Objectives> ..... </Objectives> <Objectives> ..... </Objectives> <Objectives> ..... </Objectives>
现在希望将所有 <Objectives> ..... </Objectives> 中“.....”中的某个字符替换成另一个字符

例如
<Name> a&&a </Name> <Age> 12 </Age> <Objectives> 1234&&&5678 </Objectives> <Objectives> s&dfs&dsd&g </Objectives>
将其中 <Objectives> </Objectives> 中的内容包含的&变为*
希望变成的字符串:
<Name> a&&a </Name> <Age> 12 </Age> <Objectives> 1234***5678 </Objectives> <Objectives> s*dfs*dsd*g </Objectives>

请大家指教   谢谢!

------解决方案--------------------
以前一直没有机会用到正则中的委托,今天终于让我如愿以偿了,-_-

string resultStr = Regex.Replace(yourStr, @ " <Objectives> [\s\S]*? </Objectives> ", new MatchEvaluator(expReplace));

private string expReplace(Match m)
{
return m.Value.Replace( "& ", "* ");
}