字符串12.0以点分隔
Java中经常会遇到,字符串分割,当时遇到一个英文(.)分割的字符串,下意识写成如下代码
String[] str = "10.00".split(".")
但是却得不到想要的结果,为什么呢?
字符串类型String的split方法的参数是正则,.在正则中是匹配任意字符,所以需要加\转义,但是在Java中 \反斜杠也需要转移。所以正确的写法应是如下:
String str = "10.00".split("\\.")
知识扩展:
Java 中常用的需要转移的字符是:",\ 双引号和反斜杠;
在Java中 不管是split, replaceAll 等需要正则表达式的,一些有特殊意义的字符需要转义如下:
( [ { / ^ - $ ¦ } ] ) ? * + .
在转义的字符前加上双反斜杠 \ \ ,方法就不会出错 (基本上都是正则的字符)。
总结:
在Java中使用正则表达式中的字符时需要加上 \ \,才表达真正正则的字符。