split是我们比较常用的一个字符串分割手段,但是偶尔使用的时候也会遇到一些坑,比如在分割“.”之类的字符串时,就可能遇到问题,下面我来分析总结一下这些问题。
首先得了解的是split传入的第一个参数是名字是regex,也就是正则表达式regular expression。所以在写分割参数的时候一定要注意,有一些在正则表达式中有特殊意义的字符写进来就会出问题,比如上面提到的".",所以在使用这些字符的时候,我们必须要先进行转义。
例如:
String str = "com.aaaa.bbbb";
错误写法: String[] arr = str.split(".");
正确写法: String[] arr = str.split("\\.");
总结:
当遇到需要用"."或"|"或"*"或"+"等这些特殊字符时候,都需要先使用"\\"进行转义。
str.split("\\.")
str.split("\\|")
str.split("\\*")
str.split("\\+")
这只是我目前找到的四种,如果您还有补充欢迎在评论区留言,3Q