Java学习笔记--split篇
来源:互联网 发布:linux signal 编辑:程序博客网 时间:2024/06/16 14:26
Java使用split分割字符串时需要注意如下问题
- 分隔符使用特殊字符
[java] view plain copy print?01.String str = "1|2|3|4"; 02.String[] arr = str.split("\\|"); 03.System.out.println(Arrays.toString(arr)); String str = "1|2|3|4";String[] arr = str.split("\\|");System.out.println(Arrays.toString(arr));
jdk doc中说明
public String[] split(String regex)
Splits this string around matches of the given regular expression.
参数regex是一个regular-expression的匹配模式而不是一个简单的String,他对一些特殊的字符可能会出现你预想不到的结果:
1) 用竖线 | 分隔字符串,你将得不到预期的结果。
2) 用 * 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此。
显然,| + * 不是有效的模式匹配规则表达式,用”\*” “\+”转义后即可得到正确的字符串结果。
“|” 分隔串时虽然能够执行,但是却不是预期的目的,得到的是每个字符的分割,而不是字符串,”\|”转义后即可得到正确的字符串结果。
- split丢失结尾空字符串的问题
[java] view plain copy print?01.String str = "1||3|"; 02.String[] arr = str.split("\\|"); String str = "1||3|";String[] arr = str.split("\\|");//这样得到的字符串的长度为3,结尾的空字符串被丢弃了。
使用该函数的另外一个重载方法
[java] view plain copy print?01.String str = "1|2|3|"; 02.String[] arr = str.split("\\|", -1); String str = "1|2|3|";String[] arr = str.split("\\|", -1);public String [] split (String regex, int limit)
limit参数控制模式应用的次数,因此影响所得数组的长度。
如果该限制n大于0,则模式将被最多应用n-1次,数组的长度将不会大于n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。
如果n为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。
如果n为0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。
0 0
- Java学习笔记--split篇
- java String.split()方法学习笔记
- Java学习笔记(二十六):String.split()的使用
- java 笔记 split 分割字符串
- BASH学习笔记——split
- TinyOS学习笔记5-Split-Phase操作
- TinyOS 学习笔记5-Split-Phase操作
- Java学习:trim()函数、split()函数
- java split
- java-----------------split
- java split “.”
- java split
- java split
- java split
- java split
- Java split
- java split
- java split
- Java基础:JDK安装及Java环境变量配置
- 2015年 工作总结
- hdu 1239 Calling Extraterrestrial Intelligence Again
- 关于微信等业务识别的情况浅析
- centos安装redis3为系统服务
- Java学习笔记--split篇
- iTrem2和vim主题配置
- VC 模式对话框和非模式对话框的创建,销毁和区别
- Java编程中为了性能优化应做到的26件事
- Servlet中forward和redirect的区别
- ItemClick防止连续点击
- 异构数据库表在线同步
- 2016年第一季度学习和发展规划(2月份到5月份)
- symfony2中Entity的字段类型以及Entity的操作