pri*_*ain 3 java regex string split
我有一个像
s="abc, 3rncd (23uh, sdfuh), 32h(q23q)89 (as), dwe8h, edt (1,wer,345,rtz,tr t), nope";
Run Code Online (Sandbox Code Playgroud)
我想把它分成那些字符串
String[] parts={"abc", "3rncd (23uh, sdfuh)", "32h(q23q)89 (as)", "dwe8h", "edt (1,wer,345,rtz,tr t)", "nope"};
Run Code Online (Sandbox Code Playgroud)
如果我只是s.split(",")在修剪后调用然后我会得到不同的结果,因为在其中一些字符串中,例如"3rncd (23uh, sdfuh)"仍然有一个逗号。但我不想在括号中使用逗号。有没有优雅的方法来解决这个问题?
假设(和)不是嵌套和未转义的。您可以使用 split 使用:
String[] arr = input.split(",(?![^()]*\\))\\s*");
Run Code Online (Sandbox Code Playgroud)
,(?![^()]*\))如果后面没有非括号文本 and ),则匹配逗号,从而忽略(and 中的逗号)。
| 归档时间: |
|
| 查看次数: |
1330 次 |
| 最近记录: |