2017-07-06 96 views
0

我必须比较其中包含HTML标记的两个字符串。我想忽略HTML标签本身的外壳,但是要比较HTML标签之外的其他字符串的外壳。希望在编写这个逻辑时有所帮助。 例如,我想忽略下面字符串中TD标签的外壳。C#字符串比较忽略区分大小写HTML标记

String1: "<td>this is case-sensitive</td>" 

String2: "<TD>THIS is CASE-sensitive</TD>" 
+0

你需要的答案回应,否则他们怎么会知道你在找什么? – Krishna

回答

1

你可以使用正则表达式类,然后做一个比较。

所以下面的例子中,你可以做到以下几点:

var string1 = "<td>This is case-sensitive</td>"; 
var string2 = "<TD>This is case-Sensitive</TD>"; 

var regex = new Regex("<[^>]*>"); 

Console.WriteLine(regex.Replace(string1, "") == regex.Replace(string2, "")); 
//Result is False 
+0

谢谢!我会试试这个! – AngieM

+0

对不起,我对正则表达式不太流利,但是我怎样才能在V形图之间的字符串上做一个ToUpper或ToLower,而不是用“”替换它们?原因是我想要比较他们的内容(只是不是外壳)。在你的例子中,如果标签不匹配,我将无法捕捉到。 – AngieM

+3

[使用正则表达式解析HTML的答案的必备链接](https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) –

-2
string str = "<td>This is case Sensitive</td>"; 
      str = Regex.Replace(str, "<.*?>", String.Empty); 
      Console.Write(str); 

这可能为你工作

+0

你试过这个吗?很明显,这是行不通的。 – mason

+2

@mason我认为它必须通用于所有标签 – Krishna

+0

为什么选择Downvote?通过删除​​标签,你可以比较两个字符串 –

相关问题