我需要在Java中仅提取大写单词(例如AMXS,而不是Hello)。
示例字符串:快速查看:ABM,AXR,D,AF;收益预览;美国abc对xyz市场; DRE秘鲁管道
预期的O / P: ABM AXR D AF US DRE
我尝试使用正则表达式([A-Z]),但它也获得了 Q和P 。
答案 0 :(得分:1)
我怀疑你在你的正则表达式中错过了单词中断\\b
...我认为这可以正常运行。
String input = "Quick looks: ABM, AXR, D, AF; earnings previews; US abc vs. xyz markets; DRE Peru pipeline FOO";
Pattern pattern = Pattern.compile("([A-Z]+)\\b");
Matcher m = pattern.matcher(input);
while (m.find()) {
System.out.println(m.group(1));
}
输出
ABM
AXR
D
AF
US
DRE
FOO