读书人

求C#正则查找替换一段字符串,该如何处

发布时间: 2012-05-23 13:44:13 作者: rapoo

求C#正则查找替换一段字符串

XML code
<Run Tag="/qqqq/qqqqq" xml:space="preserve"> </Run><Run Tag="end" xml:space="preserve"> </Run><Run Tag="/aaa/aaa" xml:space="preserve"> </Run><Run Tag="end" xml:space="preserve"> </Run>

替换成下面这样
XML code
<Canvas Tag="/qqqq/qqqqq" Width="0"/><Canvas Tag="end" Width="0"/><Canvas Tag="/aaa/aaa" Width="0"/><Canvas Tag="end" Width="0"/>

条件是 Tag!="" 的Run才替换
替换后Tag不变

求高手...........

[解决办法]
没注意到还有一个结尾标签!
C# code
            string str=@"<Run Tag=""/qqqq/qqqqq"" xml:space=""preserve""> </Run><Run Tag=""end"" xml:space=""preserve""> </Run><Run Tag=""/aaa/aaa"" xml:space=""preserve""> </Run><Run Tag=""end"" xml:space=""preserve""> </Run><Run Tag="""" xml:space=""preserve""> </Run>";            string result = Regex.Replace(str, @"(?i)<Run\s+(Tag=""[^""]+"")[^>]*?>\s*</Run>", "<Canvas $1 Width=\"0\"/>");            Console.WriteLine(result);/*<Canvas Tag="/qqqq/qqqqq" Width="0"/><Canvas Tag="end" Width="0"/><Canvas Tag="/aaa/aaa" Width="0"/><Canvas Tag="end" Width="0"/><Run Tag="" xml:space="preserve"> </Run>*/ 

读书人网 >C#

热点推荐