繁体   English   中英

RegEx用于比较具有特殊字符的两个字符串

[英]RegEx for comparison of two strings with special characters

我使用.Equals()方法来检查我的字符串的相等性。 我有十几个不同的字符串,它适用于所有字符串,但我遇到了电话号码和地址。

我有stringA为(111)-22-3333,stringB为111223333。

是否可以使用正则表达式使得此比较结果为true,同时仍然执行.Equals()。 我是RegEx的新手。

在尝试.Equals之前我尝试使用replaceAll但是我得到“String不包含replaceAll的定义.....”错误。

正如您正确解释的那样,您可以在此处使用RegEx和String比较(Equals)的组合。 首先,我将从stringA中删除每个非数字字符(使用RegEx),然后比较两个字符串。 在代码中它看起来像这样:

stringA = "(111)-22-3333";
stringB = "11122333";

if(Regex.Replace(stringA, "[^0-9]", "").Equals(stringB)) {
   Console.WriteLine("Match found!");
}else {
   Console.WriteLine("Try again...");
}

这应该适用于您的解决方案,我验证它可以在我的本地计算机上工作。 无论如何,我不确定这对于大字符串会如何表现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM