我是Java的新手,我需要一些帮助来从字符串中提取多个子字符串。字符串的示例如下所示:
String = "How/WRB can/MD I/PRP find/VB a/DT list/NN of/IN celebrities/NNS '/POS real/JJ names/NNS ?/."
所需结果:
WRB MD PRP VB DT NN IN NNS POS JJ NNS
我有一个文本文件,其中可能包含成千上万 strip 有POS标记的相似行,我需要从中提取POS标记并根据POS标记进行一些计算。
我曾尝试使用 token 生成器,但并没有真正获得想要的结果。我什至尝试使用
split()
并将其保存到数组,因为我需要存储它并在以后使用它,但仍然无法正常工作。最后,我尝试使用模式匹配器,但正则表达式遇到问题,因为它会以正斜杠返回单词。
Regex: [\/](.*?)\s\b
Result: /WRB /MD ....
如果有更好的方法可以进行此操作,请让我知道,或者是否有人可以帮助我确定正则表达式有什么问题。
最佳答案
这应该工作:
String string = "How/WRB can/MD I/PRP find/VB a/DT list/NN of/IN celebrities/NNS '/POS real/JJ names/NNS ?/.";
System.out.println(string.replaceAll("[^/]+/([^ ]+ ?)", "$1"));
打印:
WRB MD PRP VB DT NN IN NNS POS JJ NNS .