Страницы

Поиск по вопросам

вторник, 5 февраля 2019 г.

Помогите написать регулярное выражение на java

Допустим есть строка 4534%^$!@!Фамилия4534%^$!@! Имя 4534%^$!@!Отчество 4534%^$!@!
Нужно эту строку заменить через регулярку на Фамилия Имя Отчество , т.е чтобы между словами (Фамилия Имя Отчество) был только один пробел, а до слово Фамилия и после слово Отчество ничего не было вообще(никаких символов никаких пробелом букв и цыфр).
Помогите пожалуйста. Важно понимать, что вместо Фамилия Имя Отчество могут быть Иван Иван Иванович Артюхин Алексей Петрович и.т.д.


Ответ

Импортируем пакет:
import java.util.regex.*;
Удаляем из строки все символы, кроме русских букв и лишние пробелы с конца и начала строки с помощью метода trim()
class Rextester { public static void main(String args[]) { String Main = "4534%^$!@!Фамилия4534%^$!@! Имя 4534%^$!@!Отчество 4534%^$!@!";
String replaced = Main.replaceAll("[^А-Яа-я]+", " "); System.out.println(replaced.trim()); } }
На выходе получаем:
Фамилия Имя Отчество

Комментариев нет:

Отправить комментарий