2012-01-26 97 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(",") 
===> []