如何从java中的字符串中提取子字符串

时间:2013-02-09 05:49:32

标签: java regex stanford-nlp

我对Java不太自信,所以我需要一些帮助从string.string中提取多个子字符串,如下所示。

我有一个文本文件,可能有数千个类似的POS标记行,我需要从中提取原始文本。我尝试过使用tokenizer但是没有真正得到我想要的结果。我尝试使用Pattern Matcher和我正在使用正则表达式的问题。

String="I_PRP recently_RB purchased_VBD this_DT camera_NN";

我想得到输出=我最近购买了这台相机。

我用

正则表达式:[\/](.*?)\s\b

但它没有用。请帮帮我。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

如果这个后缀总是大写字母,你似乎附加了一个标签来表示单词类型(例如名词,动词或代词),在replaceAll <中使用以下正则表达式更安全/ p>

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