所以我在StackOverflow上寻找这个问题的答案但找不到答案。
我有一个URL,其左右部分始终相同,但中间部分不断变化。如果只有一个单词它可以正常工作,但如果有多个URL代替。
我需要用加号(+)替换所有空格。
我正在使用此代码而没有运气:
String content = bioObj.getString("summary");
content = content.replaceAll(" ", "%20");
bio.setText(content);
有人可以帮忙吗?
完整代码:
String finalUrlBio = bioUrlLeft+title+bioUrlRight;
JsonObjectRequest bioRequest = new JsonObjectRequest(Request.Method.GET, finalUrlBio, (JSONObject) null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONObject artistObj = response.getJSONObject("artist");
JSONObject bioObj = artistObj.getJSONObject("bio");
String content = bioObj.getString("summary");
content = content.replaceAll("\\s","+");
bio.setText(content);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
AppController.getInstance().addToRequestQueue(bioRequest);
ERROR:
07-01 00:00:37.379 2793-2872/com.darioradecic.topmusicandartists E/Volley: [397649] BasicNetwork.performRequest: Unexpected response code 400 for http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=Red Hot Chili Peppers&api_key=99b9ea4e41463638c76b4759d8b1da1d&format=json
答案 0 :(得分:0)
我相信这个问题的答案可以解决你的问题。
Removing whitespace from strings in Java
您只需要从st.replaceAll("\\s","")
更改为st.replaceAll("\\s","+")
,因为您需要使用加号替换所有空格。
答案 1 :(得分:0)
我只想使用replace方法。 使用您的内容&#39;字符串:
content.replace(' ', '+');
这将检查空格并用加号替换空格。如果由于开头和结尾使用整个字符串时这是一个问题,我只需将中间字符串子串,然后使用replace方法。尝试https://docs.oracle.com/javase/7/docs/api/java/lang/String.html以获取对java中字符串及其预定义引用的所有引用。