String中split的确问题 String s="insert into A(a,b) values(a,b)";String ss[]=s.split("(");此处为何会报异常请问用正则表达式写"("谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为 split 里的参数不是字符串而是正则表达式啊~~,“(”在正则表达式是具有特殊意义的,需要采用转义。改为:String ss[] = s.split("\\(");或者String ss[] = s.split(java.util.regex.Pattern.quote("("));就可以了,两种方法一样的,第二种方法,碰到正则表达式特殊字符会自动进行转义的,不需要人工干预。 来晚了,被bao110908(长牙了,好痛)占了先。 有分大家一起赚,另外一点,String提供的split其实是有bug的,不知道大家用的时候注意到了没有,例如String[] strArray = "a|b|c|".split("|");这个分割的结果是有问题的。 String[] strArray = "a|b|c|".split("|");应该改成String[] strArray = "a|b|c|".split("[|]");,String的这个方法为什么非要给正则表达式呢?呵呵。 使用 split("|") 当然不行了,因为“|”在正则表达式中表示“或”的意思,具有特殊含义的,应转义成“\\|”。至于为什么 split("[|]") 可以呢,因为匹配的是“[ ]”里面字符中的任何一个,只取一个哦,而且除了“^”、“\”外,其他的好像都不要转义的。至于为什么这个方法要使用正则表达式呢,因为正则表达式的功能要比字符串的功能强大啊,字符串能做到的,正则表达式也能做到,但是正则表达式能做到的,字符串就不一定能做到了,比如使用非捕获组(以特定的字符间隙)来拆分之类的。@_@ PS: bit1010 我很喜欢你的签名“小虾风清扬”哦~~ 马上要去面试了,大家能帮忙指点注意哪些么? 求教一个多路归并算法 小弟软件专业分方向,急需建议! Java,我该如何学习? 100分求JDK1.3.1_05下载 找不到class文件,希望高手帮帮偶!!急!!!!! 如何将Delphi中的加密解密程序改写java的加密解密程序?(源代码奉献,问题解决分可以再加) 问题: 谁知道“报文摘要”是干什么用的?也就是说“DigestInputStream和DigestOutputStream”这两个流是干什么用的? java学习如何进阶? cmd下java程序编译能通过但是运行不了出异常 关于getParameter()方法的问题! java连接paradox数据库的问题!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货