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

189
01 февраля 2019, 18:10

Здравствуй сообщество, вопрос прост почему данная функция отрабатывает не так как нужно. Вроде бы должно всё игнорировать так как я добавил \s. Что само странно работает через одну строку то есть частично верно. Помогите кто что знает лучше чем я, так как в регулярных выражениях дилетант.

public static String convert1(String input) {
    return input.replaceAll(";[\\w\\s]*;", " ==> ");
}
input = "Login;Name;Email
ivanov;Ivan Ivanov;ivanov@mail.ru
петров;Петр Петров;petrov@google.com
obama;Barack Obama;obama@google.com
bush;Джордж Буш;bush@mail.ru"

Вот вывод после обработки:

Answer 1

Вы забыли "включить" поддержку всего Юникода для \w и \s с помощью (?U) (опция Pattern.UNICODE_CHARACTER_CLASS):

return input.replaceAll("(?U);[\\w\\s]*;", " ==> ");
                         ^^^^ 

См. демо онлайн:

public static String convert1(String input) {
    return input.replaceAll("(?U);[\\w\\s]*;", " ==> ");
}
public static void main (String[] args) throws java.lang.Exception
{
    String input = "Login;Name;Email\n"+
    "ivanov;Ivan Ivanov;ivanov@mail.ru\n"+
    "петров;Петр Петров;petrov@google.com\n"+
    "obama;Barack Obama;obama@google.com\n"+
    "bush;Джордж Буш;bush@mail.ru";
    System.out.println(convert1(input));
}

Результат:

Login ==> Email
ivanov ==> ivanov@mail.ru
петров ==> petrov@google.com
obama ==> obama@google.com
bush ==> bush@mail.ru
READ ALSO
Deploy telegram бота на heroku

Deploy telegram бота на heroku

Коллеги, написал телеграм бота и хочу развернуть его на heroku, что нужно прописать в ProcFile? Проект написан на Java как консольное приложение

162
Сложить целые числа

Сложить целые числа

Крашится при взаимодейстии именно с вот этим кодомВсе компоненты объявлены и присутствуют на XML-разметке

173
Проблема в шаблоне на моб версии сайта СSS

Проблема в шаблоне на моб версии сайта СSS

буду признателен если подскажите как исправить шаблон для моб версии сайтаНа мобильной версии под описанием продукта отсутствует фон или...

194