2013-02-09 193 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|$))", ""); 
相关问题