Java: использовать URLDecoder, но зарезервировать знак плюс (+) - PullRequest
3 голосов
/ 13 марта 2012

Я пишу сервер Lucene. Я хочу получить почтовый запрос вроде:
http://www.site.com/search?+title:google + тип: веб-сайт

но аргумент post "+ title: google + type: website" кодируется так: "+ title: google% 20 + type: website" поэтому я использую URLDecoder.decode (аргумент «UTF-8») для получения исходного ввода, но я получаю неправильный результат:

"title: goole type: website" , потому что URLDecoder преобразует знак плюс "+" в символ пробела "". Что я могу сделать, чтобы получить аргумент декодирования без преобразования знака плюс?

Ответы [ 2 ]

5 голосов
/ 13 марта 2012

Вы можете попробовать это:

"+ title: google% 20 + type: website" .replaceAll ("\\ +", "% 2b")

Он заменит все знаки плюс, после чего вы используете декодер, который преобразует обратно знак плюс

0 голосов
/ 13 марта 2012

На самом деле все пробелы будут заменены на% 20, поэтому вы можете заменить все% 20 на пробел, как только получите строку URL.

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