我从Wikipedia解析了此数据,并尝试仅从此处获取字符。但是结果在数据前面带有\n*
。
“”:“ ===고양이의종류=== \ n [[시암고양이]] \ n * [[페르시안네브스카야]] \ n * [[페르시안]] \ n *
[[노르웨이지언스포레]] \ n * [[터키시앙고라]] \ n * [[아메리칸]] \ n * [[브리티시]] \ n *
[[러시안블루]] \ n * [[뱅갈]] \ n * [[메인쿤]] \ n * [[랙돌]] \ n * [[히말라얀]] \ n * [[재패니즈
밥테일]] \ n * [[오리엔탈]] \ n * [[피터볼드]] \ n * [[스코티시]] \ n *스코티시스트레\ n *
[[하일랜드]] \ n * [[시베리포레스트]] \ n * [[터키시반]] \ n * [[코리안]] \ n *
[[올블랙]] \ n * [[사바나캣]] \ n * [[쿠나]] \ n * [[아비시니안]] \ n *먼치킨”
这是我的代码。
try {
URL url = new URL("https://ko.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvsection=20&titles=%EA%B3%A0%EC%96%91%EC%9D%B4&format=json");
URLConnection con = url.openConnection();
InputStream is = con.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(isr);
while(true){
String data = reader.readLine();
if(data == null) break;
result += data;
}
JSONObject obj = new JSONObject(result);
JSONObject query = (JSONObject) obj.get("query");
JSONObject pages = (JSONObject) query.get("pages");
JSONObject pageid = (JSONObject) pages.get("93349");
JSONArray revisions = (JSONArray) pageid.get("revisions");
String catcat = String.valueOf(revisions);
String star = "\n*";
catcat = catcat.replaceAll("\\[\\[","").replaceAll("\\]\\]",",").replaceAll("\\r|\\n", "").replaceAll(star,"");
String[] catcategory = catcat.split(",");
for (int i = 0; i<catcategory.length;i++){
list.add(catcategory[i]);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
结果看起来像
\ n시암고양이
\ n페르시안
我想删除
\n*
。 最佳答案
如何在不包含特殊字符的情况下拆分已解析的String数据?
尝试这段代码,将其删除\ n *,然后可以将_result_word添加到列表中。
for (int i = 0; i < catcategory.length; i++) {
try {
String _result_word = catcategory[i].replaceFirst("\\\\n", "").replace("*", "");
//String _result_word=catcategory[i].replaceFirst("\\\\n", "").replace("*", "").replaceFirst("\\\\n", "").replace("*", "");
System.out.println("" + _result_word);
list.add(_result_word);
} catch (Exception ex) {
System.out.println("Special Exception occurred at index : i = " + i);
ex.printStackTrace();
}
}
关于java - 如何在不包含特殊字符的情况下拆分已解析的String数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46601432/