java对于 进行字符串分隔_Java字符串分割函数split中以·点分割的问题
java对于 进行字符串分隔_Java字符串分割函数split中以·点分割的问题
问题描述:
// 把字符串”192.168.1.1″按照小圆点进行分割java split反斜杠,分割成”192″,”168″,”1″,”1″四个字符串。
= “192.168.1.1”;
= .split(“.”); // 错误写法。这种写法得到的字符串组长度为0
= .split(“\.”); //正确写法。对小圆点进行转义
出现上述情况的原因是:split函数会将参数看作是正则表达式进行处理。”.”在正则表达式中表示匹配任意一个字符,经过转义之后,”.”才是本身的含义,才能得到正确的分割结果。下面主要探讨上述错误写法中得到的字符串组为什么大小为0。
下面是split函数源代码(java.util.regex..split)
split( input, int limit) {
int index = 0;
= limit > 0; // 是否限制匹配个数
= new (); // 匹配结果队列
m = (input); // 待切割字符(串)匹配对象
// Add each match found
while (m.find()) {

// 如果不限制匹配个数 或者 当前结果列表的大小小于limit-1
if (! || .size() < limit – 1) {
match = input.(index, m.start()).(); // 取子串java对于 进行字符串分隔_Java字符串分割函数split中以·点分割的问题,(分隔串所在的首位)
.add(match); // 添加进结果集
index = m.end(); // 获取下一个子串的首字符下标
} else if (.size() == limit – 1) { // last onejava split反斜杠,即还剩最后一个名额了
// 最后一个元素从指针取到字符串结尾
match = input.(index, input.()).();
.add(match);
index = m.end();
// If no match was found, this
if (index == 0) // 即没有切分到的意思吧,返回整一串
new { input.() };
// 如果不限制匹配个数 或者结果集大小小于限制个数
if (! || .size() < limit)
// 最后一个元素从指针取到字符串结尾

.add(input.(index, input.()).()); //
//
int = .size();
if (limit == 0)
// 如果结果集最后的元素是””,一个一个地删除它们
while ( > 0 && .get( – 1).(“”))
–;
= new
.(0, ).();
代码中注释转自
正则表达式中“.”表示匹配任意一个字符。对于split函数而言,就是就是以任意字符为分隔符进行分割,那么“192.168.1.1”按照任意字符分割等价于“”按照“c”进行分割,那么分割结果肯定都是空串。split函数中最后的while循环会将分割之后的字符串组,从后往前清理空字符串,所以“.”在不转义的情况下,分割字符串得到的结果为空。
代码中, m = (input)中,m记录下每个分隔符的位置。例如“abc;efg;hig”中,分隔符“;”的位置是3,7。m.start()可以获取到第一个分隔符的索引3,利用函数(int start, int end)进行分割,所以第一个子串传入参数
start = 0,end = 3
,m.end()获取当前匹配到的分隔符之后的位置4;m.find()寻找下一个分隔符位置java split反斜杠java对于 进行字符串分隔_Java字符串分割函数split中以·点分割的问题,m.start()为7,第二个字串
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » java对于 进行字符串分隔_Java字符串分割函数split中以·点分割的问题
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

