Groovy在句点上拆分并仅返回第一个值

ro *_* ra 9 groovy

我输入为

var = primarynode.domain.local

而现在我只需要primarynode它.

我正在寻找拆分和令牌化,但无法在一个行代码中执行此操作.有谁知道如何在一个行代码中做到这一点?

Pra*_*ete 13

假设您想.从输入字符串中获取第一个单词(之前).

您可以使用tokenizeString 的运算符

如果你有

def var = "primarynode.domain.local"
Run Code Online (Sandbox Code Playgroud)

那么你可以做到

def firstValue = ?var.tokenize(".")[0]?
println firstValue
Run Code Online (Sandbox Code Playgroud)

产量

primarynode
Run Code Online (Sandbox Code Playgroud)


bdk*_*her 7

split方法有效,您只需要知道该参数是一个正则表达式而不是纯字符串即可。而且自“。” 在正则表达式中表示“任何字符”,则需要对其进行转义...

var = 'primarynode.domain.local'.split(/\./)[0]
Run Code Online (Sandbox Code Playgroud)

...或使用字符类(字符类中的“。”并不特殊)

var = 'primarynode.domain.local'.split(/[.]/)[0]
Run Code Online (Sandbox Code Playgroud)