String 字符后的子字符串
我正在寻找一种在Groovy中从字符串中漂亮地提取“用户id”的方法。假设我有字符串String 字符后的子字符串,string,groovy,String,Groovy,我正在寻找一种在Groovy中从字符串中漂亮地提取“用户id”的方法。假设我有字符串“key::${userId}”,例如: String s = "key::123456" 我可以用java风格提取用户ID,如下所示 Long.parseLong(s.substring(s.indexOf("::") + 2)) 但我相信有一种方法可以使它更短、更整洁您可以使用多重赋值运算符结合标记化方法: def(quot,userId)=“key::123456”。标记化(:) 断言用户ID==“12
“key::${userId}”
,例如:
String s = "key::123456"
我可以用java风格提取用户ID,如下所示
Long.parseLong(s.substring(s.indexOf("::") + 2))
但我相信有一种方法可以使它更短、更整洁您可以使用多重赋值运算符结合
标记化
方法:
def(quot,userId)=“key::123456”。标记化(:)
断言用户ID==“123456”
您可以将多重赋值运算符与标记化
方法结合使用:
def(quot,userId)=“key::123456”。标记化(:)
断言用户ID==“123456”
如果键::
始终是前缀,则可以使用-
运算符,并结合作为字符串到长字符串转换的
关键字:
String s = 'key::123456'
long userId = (s - 'key::') as long
如果
键::
始终是前缀,则可以使用-
运算符,并将与组合作为字符串到长字符串的转换的
关键字:
String s = 'key::123456'
long userId = (s - 'key::') as long
最短的:s.split(::”[1]尽可能长
为了高尔夫:s[5..-1]尽可能长
最短的:s.split(:”[1]尽可能长
为了高尔夫:s[5..-1]尽可能长