gpt4 book ai didi

gradle - 在groovy中用字符%“分割字符串

转载 作者:行者123 更新时间:2023-12-02 15:40:53 25 4
gpt4 key购买 nike

例如,我们有一个字符串名称测试,如下所示

def test = "HAVING first_name like "%Hello,Ram%" AND last_name like "%XYZ%",order by id asc,name desc"

所以,分割后我想得到一个类似的结果
test1 = HAVING first_name like "%Hello,Ram%" AND last_name like "%XYZ%"

test2 = order by id asc,name desc

如何在grooyy中拆分这样的字符串?我尝试通过检查 contains(",")并使用 split函数来拆分它,但它也会拆分 "%Hello,Ram%",这不是必需的结果
def a = 'HAVING first_name like "%Hello,Ram%" AND last_name like "%XYZ%",order by id asc,name desc'

def v = a.contains(",")

if(v){
a.split(",")
println a
}​​​

最佳答案

根据您的评论,听起来您真正想做的是找到不在%xxx%分隔符内的逗号并对其进行分割。这实际上是Regex find comma not inside quotes的副本,它具有有关正则表达式如何工作的更多信息。

def r = "(?!\\B%[^%]*),(?![^%]*%\\B)"
def test = """HAVING first_name like "%Hello,Ram%" AND last_name like "%XYZ%",order by id asc,name desc"""

def result = test.split(r)

在这种情况下,您的 result将是一个字符串数组(为清楚起见,在此不引用它们):
[
HAVING first_name like "%Hello,Ram%" AND last_name like "%XYZ%"
order by id asc
name desc
]

我想在评论中指出的一点是,asc和名称之间的逗号不在百分号内,因此也将分开。

关于gradle - 在groovy中用字符%“分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61120709/

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