我从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/

10-09 07:04
查看更多