Предотвращение% до% 20 в заменеВсе - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь отформатировать строку в сервлете Java для добавления в запрос JDBC SELECT.Мне нужно заменить %20 на % для моего условия LIKE.

nameQuery.replaceAll("%20", "%");
String query = String.format("SELECT name, imageURL FROM User " + 
"WHERE name LIKE \'%%%s%%\' AND userID != %d", nameQuery, userId);

С этим кодом все %20 по-прежнему не заменяются.Для значения nameQuery, такого как "Allison%20s", вызов nameQuery.replaceAll("%20", "%") меняет его на "Allison%20s" (без изменений).Даже выход из % не исправляет это.Как я могу заставить replaceAll преобразовать % в %20?

1 Ответ

0 голосов
/ 16 октября 2018

Кажется, что на самом деле вы получили строку, содержащую %20, и вы хотите заменить ее чем-то другим.Вы можете сделать это с помощью replace

nameQuery = nameQuery.replace("%20", "%"); // replace %20 with a %

Вы также могли бы использовать replaceAll, но, похоже, вы не получаете возвращаемое значение replaceAll;просто позвонив и проигнорировав результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...