JAVA split特殊字符转义

  • Post author:
  • Post category:java




JAVA split时遇到的问题

今天用

java split

方法来分割字符串,发现没有分割成功。上网查询后发现了问题所在。



发现的问题

String region = "中国|0|河北省|秦皇岛市|联通"
System.out.println(region); //中国|0|河北省|秦皇岛市|联通
System.out.println(region.split("|")[0]);//中
System.out.println(region.split("|")[1]);//国
System.out.println(region.split("|")[2]);//|
System.out.println(region.split("|")[3]);//0
System.out.println(region.split("|")[4]);//|

由结果可见字符串并没有分割成功。



知识

在split方法中,如果以竖线为分隔符,则split的时候需要加上两个斜杠【\\】进行转义。



修改以及结果

String region = "中国|0|河北省|秦皇岛市|联通"
System.out.println(region); //中国|0|河北省|秦皇岛市|联通
System.out.println(region.split("\\|")[0]);//中国
System.out.println(region.split("\\|")[1]);//0
System.out.println(region.split("\\|")[2]);//河北省
System.out.println(region.split("\\|")[3]);//秦皇岛市
System.out.println(region.split("\\|")[4]);//联通



扩展

1、【.】split的时候需要加上两个斜杠【\\】进行转义。

String region = "中国.河北省.秦皇岛市.联通";
System.out.println(region);//中国.河北省.秦皇岛市.联通
System.out.println(region.split("\\.")[0]);//中国
System.out.println(region.split("\\.")[1]);//河北省
System.out.println(region.split("\\.")[2]);//秦皇岛市
System.out.println(region.split("\\.")[3]);//联通

2、【^】split的时候需要加上两个斜杠【\\】进行转义。

String region = "中国^河北省^秦皇岛市^联通";
System.out.println(region);//中国.河北省.秦皇岛市.联通
System.out.println(region.split("\\^")[0]);//中国
System.out.println(region.split("\\^")[1]);//河北省
System.out.println(region.split("\\^")[2]);//秦皇岛市
System.out.println(region.split("\\^")[3]);//联通



版权声明:本文为weixin_38131085原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。