Grails删除字符串的第一个字符

时间:2014-04-16 05:09:37

标签: string grails groovy

我有一个这样的字符串:

params.search = abc def 123

在字符串中,名称:abc和position:def 123

params.search.split(" ").each{ key->
    ilike ('name', key[0].toString())
    ilike ('position', ....
}

我的问题是如何删除字符串中的名称(字符串的第一个索引),然后在ilike()

中设置其余字符串的位置

2 个答案:

答案 0 :(得分:2)

我认为您正在寻找name abcpositiondef 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'