http://www.moon4chen.com/

关于split遇到的一个奇葩问题

split用于分割字符串得到字串数组这是基本用法。如下:

def str= "3 2"
if(str.contains(" ")){
    println str.split(' ')[0] // 3
}

可是换一种情况:

def str= "3+2"
if(str.contains("+")){
    println str.split('+')[0] //报错
}

 

却报错了!

image

百度查清楚原因发现:

出现+、*、|、/ 等正则中使用的特殊字符。split函数把"+"当作正则处理了。

只需要加[] 即可

def str= "3+2"
if(str.contains("+")){
    println str.split('[+]')[0]  //可以正常输出
}
posted @ 2014-12-13 09:33  谌皓徽  阅读(450)  评论(0编辑  收藏  举报