java中,分割字符串可以使用split()方法来实现分割。
String str1 = "aabccbdd";
String[] Str1Array = str1.split("b");//结果Str1Array:[aa, cc, dd]
上面的例子中可以成功的将字符串用“b”来进行分割,得到可与其的结果。
但是又是偶用特殊字符来分割是得不到自己想要的结果的,如下例子所示:
String str2 = "aa|cc|dd";
String[] Str2Array = str2.split("|");//结果Str2Array:[, a, a, |, c, c, |, d, d]
预期得到的数组应该是[aa, cc, dd]这样,但是显示的结果是这样的:[, a, a, |, c, c, |, d, d]。
这个是因为|是特殊的字符,这个字符分割需要加上转义字符,才能得到我们想要的结果,如下例子所示:
String str3 = "aa|cc|dd";
String[] Str3Array = str3.split("\\|");//结果Str3Array:[aa, cc, dd]
1.字符"|","*","+"都得加上转义字符,前面加上"\\"。
2.而如果是"\",那么就得写成"\\\\"。
3.如果一个字符串中有多个分隔符,可以用"|"作为连字符。
比如:String str = "Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开。这样就把字符串分成了3个子字符串。
还有一些情况,比如replaceAll方法中,想将()括号去掉也是需要加上转义字符的,因为这些字符跟正则表达式中的符号冲突,所以在非正则的使用方式中,需要用“\\”来进行转义。