我有一个非常简单的任务,我试图在字符串中查找和替换特殊字符。我的正则表达式正在工作,但有时字符串中有斜体标签,但我不想替换;我需要替换导致斜体标签变形的独立“<”和“>”字符。有没有办法让我匹配特殊字符但排除斜体模式?这是我的代码:
string sampleText = "<i>This should be in italics</i> but this ¶ character needs to be removed";
string sPattern = "[―&<>♫♪–‧₢₳-⅓⅟□¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶•¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕ×ØÙÚÛÜÝÞßàáãäåæçèéêëìíîïðñòóôö÷øùüýþÿŒœŠšŸŽžƒ˜-‰›¢€°]";
string replacePattern = "";
string text = System.Text.RegularExpressions.Regex.Replace(sampleText, sPattern, replacePattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
当我的程序执行时,我得到了这个:
iThis should be in italics/i but this character needs to be removed
那么我可以匹配我的特殊字符但排除斜体标签吗?如果这不可能,我能想到的唯一解决方案是通过一些字符串处理删除斜体标签,然后用我的正则表达式验证结果,然后将斜体标签放回..
有任何想法吗?