Есть ли способ применить регулярное выражение в java, игнорируя регистр букв? - PullRequest
2 голосов
/ 03 июня 2010

Простой пример: у нас есть строка «Некоторая примерная строка текста». И я хочу отфильтровать все стоп-слова (то есть «некоторые» и «из»), но я не хочу менять регистр букв других слов, которые должны быть сохранены.

Если бы регистр букв был не важен, я бы сделал это:

str.toLowerCase().replaceAll ("a|the|of|some|any", "");

Есть ли решение "игнорировать регистр" с регулярными выражениями в Java?

Ответы [ 2 ]

5 голосов
/ 03 июня 2010

Вы можете использовать встроенный без учета регистра модификатор:

str.replaceAll ("(?i)a|the|of|some|any", "");
4 голосов
/ 03 июня 2010

Что-то вроде этого тоже должно сработать:

        Pattern pat = Pattern.compile("a|the|of|some|any", Pattern.CASE_INSENSITIVE);
        Matcher matcher = pat.matcher(str);
        String result = matcher.replaceAll("");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...