Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C字符串比较忽略区分大小写的HTML标记_C#_String Comparison - Fatal编程技术网

C# C字符串比较忽略区分大小写的HTML标记

C# C字符串比较忽略区分大小写的HTML标记,c#,string-comparison,C#,String Comparison,我必须比较两个有HTML标记的字符串。我想忽略HTML标记本身的大小写,但要比较HTML标记之外的其他字符串的大小写。希望在编码此逻辑时得到一些帮助。 例如,我想忽略下面字符串中TD标记的大小写 String1: "<td>this is case-sensitive</td>" String2: "<TD>THIS is CASE-sensitive</TD>" 这可能适合您您可以使用Regex类,然后进行比较 因此,按照您的示例,您可以执行

我必须比较两个有HTML标记的字符串。我想忽略HTML标记本身的大小写,但要比较HTML标记之外的其他字符串的大小写。希望在编码此逻辑时得到一些帮助。 例如,我想忽略下面字符串中TD标记的大小写

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

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

这可能适合您

您可以使用Regex类,然后进行比较

因此,按照您的示例,您可以执行以下操作:

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

@梅森:我认为所有标记都必须是通用的。为什么要执行字符串包含?为什么不干脆打个电话换一个呢?如果标签是另外一个东西,这怎么办?您是否需要创建所有HTML标记的列表?在我的示例中,我只有TD,但它可以包含任何HTML标记。除非我收集所有HTML标记的整个库,否则这对我不起作用;我不想用String.Empty替换它们,因为我将丢失实际的标记值。我怎样才能把它们转换成大写或小写?你需要回复答案,否则他们怎么知道你在找什么?谢谢!我要试试这个!对不起,我对正则表达式不是很流利,但是我如何才能在V形符号之间的字符串上进行上下转换,而不是将其替换为?原因是我想比较他们的内容,而不是外壳。在您的示例中,如果标记不匹配,我将无法捕获。我找到了这篇文章,它满足了我的需要:。谢谢你的指点,丹尼尔!没问题,安吉,很高兴能帮上忙!
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