我有一个这样的字符串:
params.search = abc def 123
在字符串中,名称:abc和position:def 123
params.search.split(" ").each{ key->
ilike ('name', key[0].toString())
ilike ('position', ....
}
我的问题是如何删除字符串中的名称(字符串的第一个索引),然后在ilike()
中设置其余字符串的位置答案 0 :(得分:2)
我认为您正在寻找name
abc
和position
为def 123
?
def string = "abc def 123"
def splitStr = string.split()
def name = splitStr[0]
def position = splitStr[1..-1].join(/ /)
assert name == 'abc'
assert position == 'def 123'
<强>更新强>
我宁愿使用@Tim's approach,因为上面的方法很冗长
使用split(regex, limit)
和多个赋值可以使实现更加灵活和智能。
limit参数控制模式的次数 应用因此会影响结果数组的长度。
That answer是该问题的最佳答案,应该被接受。 :)
答案 1 :(得分:2)
您还可以使用多个分配并限制split
的结果:
def str = "abc def 123"
def (name,position) = str.split( ' ', 2 )
assert name == 'abc'
assert position == 'def 123'