簡體   English   中英

如何修剪編碼的字符串?

[英]How to trim an encoded String?

我正在使用以下代碼:

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);

Output:

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

可能的解決方法是什么?

注意:我也想過在編碼之前修剪我的 searchKey,但它已經被編碼為從其他使用其他編碼的其他 restcall 接收到的。

String class 的 trim() 方法是否適用於編碼字符串?

不,原因很簡單,Java 無法區分編碼字符串和恰好包含編碼字符序列的字符串。 URL 編碼只是無數編碼中的一種,如果字符串是在任何特定編碼中編碼的值,則嘗試找出它是不可行的。

如果要修剪編碼的字符串,則必須先對其進行解碼,然后對其進行修剪,然后對其進行重新編碼。


但是請注意s.trim(); 不更新s 字符串是不可變的。 您需要分配s = s.trim(); ,或類似的。

使用s.trim(); 並將其存儲在一個新變量中,然后使用該新變量。 它應該開始工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM