RegEx для сравнения двух строк со специальными символами - PullRequest
0 голосов
/ 02 мая 2019

Я использую метод .Equals () для проверки равенства моих строк.У меня есть более десятка различных строк, и он работает нормально для всех строк, но я застрял с номером телефона и адресом.

У меня есть строка A как (111) -22-3333 и строка B как 111223333.

Можно ли использовать регулярное выражение, чтобы сделать это сравнение истинным, в то же время выполняя .Equals ().Я новичок в RegEx.

Я пытался использовать replaceAll, прежде чем делать .Equals, но я получил сообщение "String не содержит определения для replaceAll .....".

1 Ответ

0 голосов
/ 02 мая 2019

Как вы правильно объяснили, вы можете использовать комбинацию сравнения RegEx и String (равно) здесь.Сначала я бы удалил все нечисловые символы из строки A (используя RegEx), а затем сравнил две строки.В коде это будет выглядеть так:

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

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

Это должно работать нормально для вашего решения, я проверил его на моей локальной машине.В любом случае, я не уверен, как это будет работать для огромных струн.

...