Java:使用URLDecoder但保留加号(+)

rem*_*emy 3 java lucene

我正在写一个lucene服务器.我想收到帖子查询,例如:http://www.site.com/search?+ title:
google + type:website

但是帖子论证"+ title:google + type:website"编码如下:"+ title:google%20 + type:website" 所以我使用URLDecoder.decode(参数,"UTF-8")来获取原文输入,但我得到错误的结果:

"title:goole type:website",因为URLDecoder将加号"+"转换为空格字符"".如何在不转换加号的情况下获取解码参数?

小智 5

你可以试试这个:

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

它将替换所有加号,然后使用解码器,它将转换加号


Abh*_*ary 0

实际上所有空格都会被替换为 %20 ,所以一旦你得到 URL 字符串,你就可以将所有 %20 替换为空格。