2012-01-26 55 views

回答

3

'foo bar'.split()

如需进一步信息,请StringGroovy JDK

+3

这不一样。它相当于没有参数的Ruby''foo bar'.split',它分割任何空格。 Groovy'split()'不允许你只在空格字符上分割。确切的等价物将是''foo bar'.tokenize('')' –

2

甚至比使用split()更好的是使用Groovy tokenize(),它将返回一个List而不是一个字符串数组。 no-arg版本默认使用空格标记,或者您可以传递一个分隔符。

groovy:000> 'foo bar'.tokenize() 
===> [foo, bar] 
groovy:000> 
+1

添加''''参数并且它将是相同的。 –

1

这也很好记住,tokenize()将摆脱任何空字符串:

groovy> println ",,a,,".tokenize(",") 
===> [a] 

split()只会摆脱尾随空字符串:

groovy> println ",,a,,".split(",") 
===> [, , a] 

groovy> println "a,,,,".split(",") 
===> [a] 

groovy> println ",,,,".split(",") 
===> []