List 使用Groovy修剪列表中的名称

List 使用Groovy修剪列表中的名称,list,groovy,replace,trim,List,Groovy,Replace,Trim,我在Groovy中有一个列表,其中包含以下格式的名称: 我的名字叫杰克 我的名字叫罗克 我的名字叫孙 我如何修剪列表,只得到最后一部分;i、 e.姓名-杰克、岩石和太阳。(请注意,名称只有4个字符长)这里您可以选择其中一种方法 您可以将sustring与lastIndexOf 或replace方法删除带有空字符串的My\u name\u 脚本(使用第一种方法): 如果要使用替换,请使用下面的闭包 def getName = { s -> s.replace('My_name_is_

我在
Groovy
中有一个列表,其中包含以下格式的名称:

  • 我的名字叫杰克
  • 我的名字叫罗克
  • 我的名字叫孙

我如何修剪列表,只得到最后一部分;i、 e.姓名-
杰克、岩石和太阳
。(请注意,名称只有4个字符长)

这里您可以选择其中一种方法

  • 您可以将sustring与
    lastIndexOf
  • replace
    方法删除带有空字符串的
    My\u name\u
脚本(使用第一种方法):

如果要使用
替换
,请使用下面的闭包

def getName = { s -> s.replace('My_name_is_','') }
您可以在线快速试用


您可以删除公共前缀:

def names = [ "My_name_is_Jack", "My_name_is_Rock", "My_name_is_Sunn", ]

assert ['Jack', 'Rock', 'Sunn'] == names*.replaceFirst('My_name_is_','')
或者,因为你实际上是在最后四个角色中被邀请的,你也可以选择这些角色:

assert ['Jack', 'Rock', 'Sunn'] == names*.getAt(-4..-1)
def names = [ "My_name_is_Jack", "My_name_is_Rock", "My_name_is_Sunn", ]

assert ['Jack', 'Rock', 'Sunn'] == names*.replaceFirst('My_name_is_','')
assert ['Jack', 'Rock', 'Sunn'] == names*.getAt(-4..-1)