2013-02-09 255 views
1

我對Java沒有那麼自信,所以我需要一些幫助從string.string中提取多個子字符串,如下所示。如何從java中的字符串中提取子字符串

我有一個文本文件,可能有數千個類似POS標記的行,我需要從中提取原始文本。我嘗試過使用標記器,但沒有真正得到我想要的結果。我嘗試使用模式匹配器和我正在與正則表達式的問題。

String="I_PRP recently_RB purchased_VBD this_DT camera_NN"; 

我想獲得輸出=我最近購買了這臺相機。

我用

正則表達式:[\/](.*?)\s\b

但它不是working.Please幫助我。

+3

向我們展示一個實際的[SSCCE]即並澄清問題是什麼。 「不工作」是一個足夠的問題描述。 – 2013-02-09 05:50:35

回答

1

嘗試

String s= "I_PRP recently_RB purchased_VBD this_DT camera_NN"; 
    s = s.replaceAll("_\\w+(?=(\\s|$))", ""); 
    System.out.println(s); 

打印

I recently purchased this camera 
+0

感謝您的迴應,我有一點麻煩。這段代碼是爲單個字符串工作。但是當我使用FileReader和BufferdReader作爲輸入文件的文本文件時,它不顯示輸出文件中的任何結果。 – 2013-02-10 14:44:37

1

看來要附加一個標籤來表示字類型(如名詞,動詞或代詞)如果此後綴將永遠大寫字母, replaceAll

s = s.replaceAll("_[A-Z]+(?=(\\s|$))", ""); 
相關問題