Обрезка пробелов из строки в Java - PullRequest
5 голосов
/ 01 декабря 2010

Я понимаю, что есть довольно много вопросов по этому поводу, но мне еще предстоит найти решение, подходящее для моей ситуации. Я знаю о string.trim (), и он не имеет никакого эффекта. После исследования в Интернете и открытия мира ненависти для string.trim () я понимаю, что пробельный символ, который я пытаюсь удалить, должен быть вне диапазона, который обслуживает .trim ().

Я использую некоторое регулярное выражение, которое я не совсем понимаю, чтобы убрать строку из любых специальных символов, исключая '=' и ',' и все пробельные символы, ИСКЛЮЧИТЬ, если это сразу после ','.

Однако теперь я хочу полностью удалить все пробелы из строки. Буду признателен за любые идеи о том, как редактировать регулярное выражение, которое я использую для достижения этой цели. Опять же, я хочу, чтобы '=' и ', вместе с цифрами и буквами остались. Все пробелы и другие специальные символы должны быть удалены.

Вот код на данный момент:

if (argsToBeFiltered != null) {
            // Remove all whitespace and chars apart from = and ,
            String filteredArgs = argsToBeFiltered.replaceAll(
                    "[^=,\\da-zA-Z\\s]|(?<!,)\\s", "");
            return filteredArgs;
}

Ответы [ 2 ]

5 голосов
/ 01 декабря 2010

Время выучить регулярные выражения!

См. Шаблон и различные учебные пособия по регулярным выражениям, такие как Урок: регулярные выражения .

[^=,\\da-zA-Z\\s]

Эта часть говорит, что не соответствуют (^) символы: =, ,, цифры (\ d), A-Z (A-Z) или пробел (\ s). Тем не менее, вы, вероятно, хотите, чтобы он совпадал с пробелами (так как нет второй части после запятой, которая бы соответствовала им). Итак:

argsToBeFiltered.replaceAll("[^=,\\da-zA-Z]", "");
1 голос
/ 01 декабря 2010

Попробуйте это: -

if (argsToBeFiltered != null) {
            // Remove all whitespace and chars apart from = and ,
            String filteredArgs = argsToBeFiltered.replaceAll(
                    "\\w+");
            return filteredArgs;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...