为什么用加号不能分割呢?请大家给个解释
String code="pp+uu+ee+ww+qq";
String[] code1=code.split("+");
为什么用加号就分割不了呢?用其他任何的字符替代加号都可以分割,难道这里加号被看成连字符了?
难道要用最土的方法来提取不是加号的字符?
请大家给解释一下为什么不能用加号解决这个字符串啊
谢谢~~
------解决方案--------------------code.split("\\+");
------解决方案--------------------String类的方法split中,传入参数为正则表达式,而‘+’是正则表达式中的特殊字符,必须经过转义才能使用,正解见1楼
关于特殊字符的信息,可以参看Pattern类(为正则表达式的实现)中的说明
http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/util/regex/Pattern.html
------解决方案--------------------1楼正解
------解决方案--------------------quote()方法是用来表示转意的意思? 为啥不叫escape呢?
------解决方案--------------------java.util.regex
这个包
------解决方案--------------------回12楼的
“\+”是正则表达式的转义形式,但是“\”在Java中属于转义字符,要想得到“\+”的字符串必须使用“\\+”。
正则表达式中一共有15个元字符,它们都表示有特殊的含义,若需要使用它们的字符意思时就需要进行转义。
这15个元字符分别是:
{ [ ( ) ] } \ ^ - $ | ? * + .
------解决方案--------------------加上转义字符!!!