如有字符串"hello.world",用"."去切割这个字符串,得到的结果却是空数组:
1 2 3 4 | groovy:000> b = "hello.world" ===> hello.world groovy:000> b.split(".") ===> [] |
原因是split()是用正则去匹配切割字符串,.是正则的特殊符号,所以必须转义,用"\."去切割:
1 2 | groovy:000> b.split("\\.") ===> [hello, world] |
另外,还可以用tokenize()方法去切割:
1 2 | groovy:000> b.tokenize('.') ===> [hello, world] |
spli()方法和tokenize()方法的对比可见如下url中的介绍:
http://www.tothenew.com/blog/groovy-tokenize-vs-split/
截图加注释如下:

image.png