如何修剪编码的字符串?

问题描述 投票:-1回答:2

我正在使用以下代码:

searchKey = URLEncoder.encode(searchKey,"UTF-8");
builder.queryParam("searchKey", searchKey.trim());

现在,我已经尝试过:

String s = "hello%20world%20%26%20you%20%20%20%20%20%20";
s.trim();
System.out.println(s);

输出:

hello%20world%20%26%20you%20%20%20%20%20%20

可能有什么解决方法?

注:我还考虑过在编码之前修整我的searchKey,但是它已经被编码为使用其他编码的其他restcall收到的。

java string encoding trim
2个回答
1
投票

String类的trim()方法是否适用于编码字符串?

不,出于简单的原因,Java无法将编码字符串与恰好包含编码字符序列的字符串区分开。 URL编码只是众多编码中的一种,如果字符串是用任何特定编码的值,尝试计算是不可行的。

如果要修剪编码的字符串,则必须先对其进行解码,然后对其进行修剪,然后对其进行重新编码。


但是请注意,s.trim();不会更新s。字符串是不可变的。您需要分配s = s.trim();或类似名称。


-2
投票

使用s.trim();并将其存储在新变量中,然后使用该新变量。它应该可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.