0

如何对此文本进行正则表达式替换:

    <span style=\"text-decoration: underline;\">Request Block Host</span> to

    `<u>Request Block Host</u>`

到目前为止,我有这个,假设“文本”是具有上述标签的完整字符串。

   text = Regex.Replace(text, "<span style=\"text-decoration: underline;\">.*?</span>", delegate(Match mContent)
        {
            return mContent.Value.Replace("<span style=\"text-decoration: underline;\">", "<u>").Replace("</span>", "</u>");
        }, RegexOptions.IgnoreCase);      
4

2 回答 2

2

这应该可以解决问题:

text = Regex.Replace(text, 
    "<span style=\"text-decoration: underline;\">(.*?)</span>", 
    "<u>$1</u>",
    RegexOptions.IgnoreCase); // <u>Request Block Host</u>

这将匹配一个字面<span style="text-decoration: underline;">量,后跟零个或多个在组 1 中捕获的任何字符,然后是字面量</span>。它将用 替换匹配的文本<u>,然后是第 1 组的内容,然后是文字</u>

于 2013-09-26T23:20:43.920 回答
1
var _string = "<span style=\"text-decoration: underline;\">Request Block Host</span>";

var text = Regex.Replace(_string, "<.+>(.*)</.+>", "<u>$1</u>");

:D

于 2013-09-26T23:19:05.683 回答