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 版权协议,转载请附上原文出处链接和本声明。