這個(gè)問題困擾了我很久了,但從本質(zhì)上講,我正在尋找最有效的方法來捕獲兩個(gè)String之間的所有String。我已經(jīng)使用了許多個(gè)月的方法是通過使用一堆臨時(shí)索引,字符串,子字符串,這確實(shí)很麻煩。(為什么Java沒有諸如此類的本地方法String substring(String start, String end)?說我有一個(gè)字符串:abcabc [pattern1]foo[pattern2] abcdefg [pattern1]bar[pattern2] morestuff最終目標(biāo)是輸出foo和bar。(并稍后添加到JList中)我一直在嘗試將regex并入,.split()但沒有成功。我已經(jīng)嘗試過使用*'s和.'s 語法,但我認(rèn)為這并不是我的意圖,特別是因?yàn)?split()只需要拆分一個(gè)參數(shù)。否則,我認(rèn)為另一種方法是使用Pattern和Matcher類?但是我對適當(dāng)?shù)某绦蛘娴暮苣:?
3 回答

明月笑刀無情
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
嘗試這個(gè):
String str = "its a string with pattern1 aleatory pattern2 things between pattern1 and pattern2 and sometimes pattern1 pattern2 nothing";
Matcher m = Pattern.compile(
Pattern.quote("pattern1")
+ "(.*?)"
+ Pattern.quote("pattern2")
).matcher(str);
while(m.find()){
String match = m.group(1);
System.out.println(">"+match+"<");
//here you insert 'match' into the list
}
它打?。?/p>
> aleatory <
> and <
> <
添加回答
舉報(bào)
0/150
提交
取消