我有一個Java字符串,看起來像這樣;Java正則表達式分隔符和保留分隔符之間的字符串
(fname:jon)(lname:doe)(guaranteer: Sam (W) Willis)(age:35)(addr:1 Turnpike Plaza)(favcolor:blue)
而且我想將此字符串從分隔符(fname:jon)<here>(lname:doe)
中分開。
我試圖通過拆分正則表達式\)\(
但它只是打破我的代碼
arr = s.split("\\)\\(");
for (String a: arr) System.out.println(a);
輸出
(fname:jon
lname:doe
guaranteer: Sam (W) Willis
age:35
addr:1 Turnpike Plaza
favcolor:blue)
我也看了一下這個問題:How to split a string, but also keep the delimiters?,但它並沒有在我的情況,因爲幫助,我想保持分隔符)(
並且均勻地分隔分隔符,即第一個括號應該是第一個結果,第二個結果是第二個。
,我用正則表達式是s.split("(?<=\\)\\()")
,它給了輸出:
(fname:jon)(
lname:doe)(
guaranteer: Sam (W) Willis)(
age:35)(
addr:1 Turnpike Plaza)(
favcolor:blue)
這是我想要的輸出:
(fname:jon)
(lname:doe)
(guaranteer: Sam (W) Willis)
(age:35)
(addr:1 Turnpike Plaza)
(favcolor:blue)
嘗試')' –
@WiktorStribiżew我已經明確指出爲什麼回答沒有幫助在我的情況。你能告訴我爲什麼這是重複的嗎? – Cupid
概括所有這些情況的答案是http://stackoverflow.com/a/2848147/3832970。從底部的第三個是你的情況。 –