我对Java不太自信,所以我需要一些帮助从string.string中提取多个子字符串,如下所示。
我有一个文本文件,可能有数千个类似的POS标记行,我需要从中提取原始文本。我尝试过使用tokenizer但是没有真正得到我想要的结果。我尝试使用Pattern Matcher和我正在使用正则表达式的问题。
String="I_PRP recently_RB purchased_VBD this_DT camera_NN";
我想得到输出=我最近购买了这台相机。
我用
正则表达式:[\/](.*?)\s\b
但它没有用。请帮帮我。
答案 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|$))", "");