用于比较两个具有特殊字符的字符串的正则表达式

RegEx for comparison of two strings with special characters

我正在使用 .Equals() 方法来检查我的字符串是否相等。我有十几种不同的字符串 它适用于所有字符串,但我被 Phone 号码和地址卡住了。

I have stringA as (111)-22-3333 and stringB as 111223333.

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

我在执行 .Equals 之前尝试使用 replaceAll,但出现 "String does not contain a definition for replaceAll....." 错误。

正如您正确解释的那样,您可以在此处结合使用 RegEx 和字符串比较 (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...");
}

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