Форматирование номера телефона с помощью регулярных выражений в Java

Научитесь форматировать указанную строку в шаблон телефонного номера, который выглядит как '(123) 456-6789'. Такое преобразование обычно требуется в приложениях, где должны отображаться данные о клиентах, а номер телефона является частью этих данных.

1. Отформатируйте строку в соответствии с шаблоном '(###) ###-####'

Чтобы отформатировать строку в номер телефона –

  • Разбейте строку на 3 группы, используя регулярное выражение '(\\d{3})(\\d{3})(\\d+)'.
  • Первая группа содержит 3 цифры, вторая — 3 цифры, а последняя группа содержит все оставшиеся цифры.
  • Создайте отформатированную строку, используя эти группы.

Ниже приведена программа Java, которая преобразует строку в номер телефона в формате(###) ###-####. Она использует метод String.replaceFirst() для сопоставления и замены подстроки с помощью regex.

String input = "1234567890";String number = input.replaceFirst("(\\d{3})(\\d{3})(\\d+)", "($1) $2-$3"); //(123) 456-7890

2. Отформатируйте строку в соответствии с шаблоном «###-###-####»

Мы можем повторно использовать логику, обсуждавшуюся в предыдущем разделе, чтобы захватить группы и отформатировать их в любой шаблон, например ###-###-####.

String input = "1234567890";String number = input.replaceFirst("(\\d{3})(\\d{3})(\\d+)", "$1-$2-$3"); //123-456-7890

Исходный код на Github

Прокрутить вверх