kku*_*udi 7 java regex string split
我需要在有逗号的地方拆分一个字符串,但它取决于逗号的放置位置.
举个例子
考虑以下:
C=75,user_is_active(A,B),user_is_using_app(A,B),D=78
Run Code Online (Sandbox Code Playgroud)
我希望String.split()函数将它们分开:
C=75
user_is_active(A,B)
user_using_app(A,B)
D=78
Run Code Online (Sandbox Code Playgroud)
我只能想到一件事,但我不确定它是如何在正则表达式中表达的.
括号内的字符/单词总是大写的.换句话说,我不会有这样的情况user_is_active(a,b).
有办法做到这一点吗?
Tim*_*ker 12
如果您没有多个括号级别,则可以对逗号进行拆分,而不是)在打开之前关闭的逗号(:
String[] splitArray = subjectString.split(
"(?x), # Verbose regex: Match a comma\n" +
"(?! # unless it's followed by...\n" +
" [^(]* # any number of characters except (\n" +
" \\) # and a )\n" +
") # end of lookahead assertion");
Run Code Online (Sandbox Code Playgroud)
您提议的规则将翻译为
String[] splitArray = subjectString.split(
"(?x), # Verbose regex: Match a comma\n" +
"(?<!\\p{Lu}) # unless it's preceded by an uppercase letter\n" +
"(?!\\p{Lu}) # or followed by an uppercase letter");
Run Code Online (Sandbox Code Playgroud)
但是你会错过文本中的分裂
Org=NASA,Craft=Shuttle
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6129 次 |
| 最近记录: |