2016-11-22 50 views
0

我需要在Java中僅提取大寫字(例如AMXS,不是Hello)。
樣本字符串:快速查找:ABM,AXR,D,AF;盈利預測;美國abc與xyz市場; DRE祕魯管道
預期O/P: ABM AXR d AF US DRE需要大寫字的正則表達式

我試圖與正則表達式([A-Z]),但其得到q和p爲好。

+0

'\\ B [A-Z] + \\ B' ... –

+0

@ScaryWombat我的問題是僅專用於大寫字。 Quick這個詞不是一個大寫的單詞。我希望你現在清楚 –

+0

@AvinashRaj它的作品完美。謝謝 –

回答

1

我懷疑你在你的正則表達式中錯過了word break-\\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