Mam ciąg java, który wygląda tak;Podział łańcucha Regex Java między separatorem i ogranicznikiem separacji
(fname:jon)(lname:doe)(guaranteer: Sam (W) Willis)(age:35)(addr:1 Turnpike Plaza)(favcolor:blue)
I chcę podzielić ten ciąg od ogranicznika (fname:jon)<here>(lname:doe)
.
próbowałem dzielenie przez regex \)\(
ale to łamie mi kod
arr = s.split("\\)\\(");
for (String a: arr) System.out.println(a);
Wyjście
(fname:jon
lname:doe
guaranteer: Sam (W) Willis
age:35
addr:1 Turnpike Plaza
favcolor:blue)
ja również spojrzał na to pytanie: How to split a string, but also keep the delimiters?, ale to nie pomogło, bo w moim przypadku , Chcę zachować separator )(
i równomiernie podzielić separator, tzn. Pierwszy nawias powinien przejść do pierwszego wyniku i drugiego do drugiego wyniku.
regex, że kiedyś był s.split("(?<=\\)\\()")
i dała wynik:
(fname:jon)(
lname:doe)(
guaranteer: Sam (W) Willis)(
age:35)(
addr:1 Turnpike Plaza)(
favcolor:blue)
To mój sygnał wyjściowy:
(fname:jon)
(lname:doe)
(guaranteer: Sam (W) Willis)
(age:35)
(addr:1 Turnpike Plaza)
(favcolor:blue)
Spróbuj ')' –
@Wiktor Stribiżew mam specjalnie podkreślić, że odpowiedź, dlaczego nie pomaga w moim przypadku. Czy możesz mi powiedzieć, dlaczego to duplikat? – Cupid
Odpowiedzią, która generalizuje wszystkie te przypadki, jest http://stackoverflow.com/a/2848147/3832970. Trzeci od dołu to twój przypadek. –