Регулярные выражения, замена символов

171
20 апреля 2018, 17:12

Мне нужно убирать из строки ненужные символы методом replaceAll(String regex, String replacement). Например строка "Hel.l$o wo..rl#d" Метасимвол \\W убирает все кроме цифровых и буквенных символов. Но мне нужно оставлять в строке еще и пробелы. Как записать выражение?

Answer 1

Используйте

String result = s.replaceAll("[^\\w\\s]+", "");

См. демо регулярного выражения

Здесь [^\\w\\s] — это исключающий символьный класс, который находит 1 и более (благодаря квантификатору +) совпадений символов, отличных от цифр/букв/знака _ и пробельных символов.

Другой способ — исключение пробельных символов из \W с помощью "вычитания символьных классов":

String result = s.replaceAll("[\\W&&[^\\s]]+", "");

Тут шаблон находит все совпадения 1 и более символов, которые находит \W кроме пробельных символов.

См. Java-демо.

READ ALSO
Проблема при установке своего плагина Cordova

Проблема при установке своего плагина Cordova

Решил написать свой плагин для CordovaЗа основу взял эту инструкцию - ссылка

203
Как подключиться и вывести данные из базы MySQL в Android Studio?

Как подключиться и вывести данные из базы MySQL в Android Studio?

Создаю приложение в Android Studio, мне необходимо взять данные из таблицы базы MySQL и вывести их в Android StudioКак подключиться к базе MySQL и вывести данные?

207
Failed to load the widgetset: ./VAADIN/widgetsets/AppWidgetset/AppWidgetset.nocache.js?

Failed to load the widgetset: ./VAADIN/widgetsets/AppWidgetset/AppWidgetset.nocache.js?

Пытаюсь развернуть веб - приложение Vaadin на Eclipse с помощью сервлета WildFly 100

507