在Groovy中将SubString分隔为一个Character

Bha*_*A N 10 groovy

考虑下面的字符串

String names = "Bharath-Vinayak-Harish-Punith"
Run Code Online (Sandbox Code Playgroud)

我希望以字符串的形式获得输出,它只包含Bharath.(字符串直到第一次出现" - "运算符).任何人都可以告诉我,我们怎么能这样做?

Riv*_*ver 21

在一般情况下,我同意上split一个答案中的方法,但是,当只返回第一个字符串时,子字符串方法与程序员的工作量相同(并且,对于疯狂的大字符串,计算工作量较少):

String result = names.substring(0, names.indexOf('-'))
Run Code Online (Sandbox Code Playgroud)


tim*_*tes 6

如果您使用的是Groovy 2.0(昨天发布),您可以:

String names = 'Bharath-Vinayak-Harish-Punith'
String result = names.takeWhile { it != '-' }
assert result == 'Bharath'
Run Code Online (Sandbox Code Playgroud)


Kel*_*lly 5

您可以使用split:

def theName = names.split(/-/)[0]
Run Code Online (Sandbox Code Playgroud)

split返回一个String数组,然后获取第一个数组元素。