gpt4 book ai didi

java - 使用正则表达式拆分字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:12:40 29 4
gpt4 key购买 nike

我需要在有逗号的地方拆分一个字符串,但这取决于逗号的位置。

举个例子

考虑以下几点:

C=75,user_is_active(A,B),user_is_using_app(A,B),D=78

我希望 String.split() 函数像这样将它们分开:

C=75 

user_is_active(A,B)

user_using_app(A,B)

D=78

我只能想到一件事,但不确定它在正则表达式中的表达方式。

括号内的字符/单词始终大写。换句话说,我不会有 user_is_active(a,b) 的情况。

有办法吗?

最佳答案

如果你没有超过一层的括号,你可以在一个逗号上做一个分割,它后面没有一个结束 ) 在开始 (:

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");

您提议的规则将翻译为

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");

但是你会错过像这样的文本中的拆分

Org=NASA,Craft=Shuttle

关于java - 使用正则表达式拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5363164/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com