1

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

我有一个文本文件,其中可能包含数千个类似的带有 POS 标记的行,我需要从中提取原始文本。我尝试使用标记器,但并没有真正得到我想要的结果。我尝试使用模式匹配器,我有正则表达式的问题。

String="I_PRP recently_RB purchased_VBD this_DT camera_NN";

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

我用

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

但它不起作用。请帮助我。

4

2 回答 2

1

如果此后缀始终为大写字母,您似乎附加了一个标签来指示单词类型(例如名词、动词或代词),那么在您的replaceAll

s = s.replaceAll("_[A-Z]+(?=(\\s|$))", "");
于 2013-02-09T06:22:40.330 回答
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
于 2013-02-09T05:56:12.193 回答