A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 来到精彩世界 中级黑马   /  2016-11-29 23:22  /  1008 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在java.lang包中也有String.split()方法,返回是一个字符型数组,但使用过程中还有一些小技巧。如执行:

1  String str = "1|23|4|56|7";
2  String[] arr = str.split("|");
3  for (int i = 0; i < arr.length; i++) {
4      System.out.println(arr);
5  }
出来的结果是:
1  
2  1
3  |
4  2
5  3
6  |
7  4
8  |
9  5
10  6
11  |
12  7

奇怪吧,不过注意看一下API说明还是知道原因的。

所以正常的写法是这样的:

如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\\";
如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b =2 or c=3”,把三个都分隔出来,可以用String.split("and|or")

1 个回复

倒序浏览
收藏了,学习了,涨姿势了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马