我有一個字符串,它是通過解析一個鳴叫內容的網站獲取的結果,這裏是字符串:如何從一個沒有空格的字符串中提取某些特殊字符之間的所有單詞?
「1 \ TI \ T _ \ TPRP \ TPRP \ T _ \ T2 \ tnsubj \ T _ \ T_ \ N 2 \ tneed \ T_ \ TVB \收費電視控股\ T_ \ T0 \ tnull \ T_ \ T_ \ N3 \ tmore \ T_ \ TJJ \ tJJR \ T_ \ T4 \ tamod \ T_ \ T_ \ N4 \ twords \ T_ \ TNN \ tNNS \ T_ \ T2 \ tdobj \ T_ \ T_ \ N5 \ tlike \ T_ \錫\錫\ T_ \ T4 \ tprep \ T_ \ T_ \ N6 \ tmarvel \ T_ \ TNN \ TNN \ T_ \ T5 \ tpobj \ T_ \ T_ \ N7 \ TOR \ T_ \ TCC \ TCC \ T_ \ T6 \ TCC \ T_ \ T_ \ n8 \ TCAT \ T_ \ TNN \ TNN \ T_ \ T6 \ tconj \ T_ \ T_ \ N9 \ TOR \ T_ \ TCC \ TCC \ T_ \ T6 \ TCC \ T_ \ T_ \ N10 \ tpancake \ T_ \ TNN \ TNN \ T_ \ T6 \ tconj \ T_ \ T_ \ N11 \ TOR \ T_ \ TCC \ TCC \ T_ \ T10 \ TCC \ T_ \ T_ \ n12 \ tf \ t_ \ tNN \ tNN \ t_ \ t10 \ tconj \ t_ \ t_「,」text「:」我需要更多單詞,如奇蹟或貓或煎餅或法國「
我想要得到所有在「\ t」和「\ t_ \ tNN」之間的單詞,換句話說,我想要名詞,我希望輸出成爲「單詞」,「奇蹟」,「貓」,「煎餅」, 「法國」。
我嘗試下面的代碼:
private void regex(String s){
if(s.indexOf("error") >= 1){
Toast.makeText(this, "Sorry the site failed again it's not my fault :(",
Toast.LENGTH_SHORT).show();
}
else{
Pattern pattern = Pattern.compile("\t(.*?)\t_\tNN");
Matcher matcher = pattern.matcher(s);
System.out.println(s);
if (matcher.find()) {
String result = matcher.group(1);
System.out.println(result);
}
}
}
我相信我得到了pattern.compile串錯..它不工作,似乎無法找到我想要的話..
莫非有人告訴我應該如何解決它?
P.S.關於製表符「/ t」,我實際上打印了整個網站的結果,但是當我以字符串的形式得到結果時,我想它們變成反斜槓和「t」而不是製表符。
是'\ t'在字符串中,反斜線和字母 「t」 或製表符?打印時會發生什麼? –
這是一個反斜槓和字母t是的,我從來沒有試過只打印這兩個字符,但是當我打印整個字符串時,它就像我提出的問題一樣。 –
然後嘗試'\\ t(。*?)\\ t _ \\ tNN'作爲您的模式。它可能將'\ t'作爲標籤讀取,並且您需要將反斜槓轉義爲文字。 – TessellatingHeckler