Trim 列表中的名称使用 Groovy
Trim the names in the list using Groovy
我在 Groovy
中有一个列表,其中包含以下格式的名称:
- My_name_is_Jack
- My_name_is_Rock
- My_name_is_Sunn
我怎样才能 trim 列表并只得到它的最后一部分;即名称 - Jack, Rock and Sunn
。 (请注意名字只有4个字符长)
在这里,您可以选择其中一种方法。
- 您可以将 sustring 与
lastIndexOf
一起使用
- 或
replace
方法删除My_name_is_
空字符串
脚本(使用第一种方法):
def list = ['My_name_is_Jack', 'My_name_is_Rock', 'My_name_is_Sunn']
//Closure to get the name
def getName = { s -> s.substring(s.lastIndexOf('_')+1, s.size()) }
println list.collect{getName it}
如果你想使用replace
,那么使用下面的闭包。
def getName = { s -> s.replace('My_name_is_','') }
您可以快速在线试用demo
或者
def list = ['My_name_is_Jack', 'My_name_is_Rock', 'My_name_is_Sunn']
println list*.split('_')*.getAt(-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)
我在 Groovy
中有一个列表,其中包含以下格式的名称:
- My_name_is_Jack
- My_name_is_Rock
- My_name_is_Sunn
我怎样才能 trim 列表并只得到它的最后一部分;即名称 - Jack, Rock and Sunn
。 (请注意名字只有4个字符长)
在这里,您可以选择其中一种方法。
- 您可以将 sustring 与
lastIndexOf
一起使用
- 或
replace
方法删除My_name_is_
空字符串
脚本(使用第一种方法):
def list = ['My_name_is_Jack', 'My_name_is_Rock', 'My_name_is_Sunn']
//Closure to get the name
def getName = { s -> s.substring(s.lastIndexOf('_')+1, s.size()) }
println list.collect{getName it}
如果你想使用replace
,那么使用下面的闭包。
def getName = { s -> s.replace('My_name_is_','') }
您可以快速在线试用demo
或者
def list = ['My_name_is_Jack', 'My_name_is_Rock', 'My_name_is_Sunn']
println list*.split('_')*.getAt(-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)