String.split解析
2015-12-30 16:46
309 查看
今天在开发某项目的时候发现String.split竟然没有按照预定的规则进行切分,后来度娘之后才发现.
特别注意split后面的参数是regular expression ,那么在切分字符串的时候就需要特别注意,如果你想用来做切分的串中含有regular expression包含的特殊字符,那么可能就会出现问题,直接干货!
出来的结果:
很神奇吗,本来是想以 | 分割,判断有没有出现中间的那个数字,而现在导致出现的结果却是这样,主要的原因就是 分隔符是regular expression中的特殊字符,需要进行转义。
修改:
注意splitExpression前面添加了 \ 进行转义,那就要知道regular expression中还包含什么其他字符。
$ ( ) * + . [ ? ^ { |
String[] java.lang.String.split(String regex)
特别注意split后面的参数是regular expression ,那么在切分字符串的时候就需要特别注意,如果你想用来做切分的串中含有regular expression包含的特殊字符,那么可能就会出现问题,直接干货!
public void testDemo4(int appId){ String str = "|3067515|"; String splitExpreesion = "|"; String[] appIdsArray = str.split(splitExpreesion); for(String temp:appIdsArray){ System.out.println(temp); } }
出来的结果:
很神奇吗,本来是想以 | 分割,判断有没有出现中间的那个数字,而现在导致出现的结果却是这样,主要的原因就是 分隔符是regular expression中的特殊字符,需要进行转义。
修改:
public void testDemo4(int appId) { String str = "|3067515|"; String splitExpreesion = "\\|"; String[] appIdsArray = str.split(splitExpreesion); for (String temp : appIdsArray) { if (!temp.equals(splitExpreesion) && temp.equals(appId + "")) { System.out.println("getBubbleByCondition4MiddleWare 推广型条件不含渠道气泡 bean = "); } else { System.out.println("getBubbleByCondition4MiddleWar"); } } }
注意splitExpression前面添加了 \ 进行转义,那就要知道regular expression中还包含什么其他字符。
$ ( ) * + . [ ? ^ { |
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- PreparedStatement中in子句的处理
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- ASP 中 Split 函数的实例分析
- Lua实现split函数
- PostgreSQL ERROR: invalid escape string 解决办法
- C#正则表达式Regex类的常用匹配
- 浅谈C++中的string 类型占几个字节
- 标准C++类string的Copy-On-Write技术
- C++实现string存取二进制数据的方法
- C#中string和StingBuilder内存中的区别实例分析
- PHP STRING 陷阱原理说明
- c#中 String和string的区别介绍
- C#实现的图片、string相互转换类分享
- 详解C#正则表达式Regex常用匹配