java 读取split_Java报错系列——split
在String中,split方法如下:
可见,split的核心在于Pattern.compile(regex).split(this, limit);
Java提供Pattern,Matcher用于支持正则,可以看一个例子:
运行结果是:
0,1
||
3,4
|ab|
7,8
|cef|
8,9
||
11,12
|kk|
13,14
|a|
需要注意的是:
通过Pattern给定一个模式(regex),Matcher可以不断(find)匹配文本,并能找到每
一个匹配上的内容的开始(start),结束(end)索引【结束索引说白了,就是start+匹配
文本的长度】。
subSequence(begin,end)是一个“包头不包尾”的方法
问题:
在上面的while中,我们能到达的最大的索引处,就是最后一个end,而注意到很有可能
这个end之后还有内容,那么该如何处理呢?
如果一个正则将文本split成了几部分,我们只需要一部分呢?
如果分成的部分中有“”空字符串,split又是如何处理的?
我们可以带着这些问题来看看源码:
首先来看,limit对matchLimited的影响:
limit < 0 或者 split(regex)等价于split(regex,0) ==> matchLimited:false
limit > 0 ==> matchLimited:true
其实,while的意思就是说,如果limit>0的话,matchList只加入有限的内容。
如果整个文本没有匹配上,那么返回一个长度为1,内容为其本身的数组。
如果limit为0,那么会将最后匹配的那些空串删除掉直至非空串为止在返回结果。
java 读取split_Java报错系列——split相关推荐
- java 读取文件 报错 java.io.FileNotFoundException
一般来说就两个问题: 1 路径写错了 2 对应路径下没有要找的文件 解决方法: 绝大部分情况都是路径写错了... 路径的错误: 1)最好用绝对路径 2)如果是win10的话,看看格式里的反斜杠对不对( ...
- Poi读取Excle报错 java.util.zip.ZipException: invalid stored block lengths
一:Poi读取Excle报错 java.util.zip.ZipException: invalid stored block lengths 系统中需要导出excle签收单,excle模板是预设好 ...
- java poi读取excel报错Your InputStream was neither an OLE2 stream, nor an OOXML stream
错误描述 java poi读取excel报错Your InputStream was neither an OLE2 stream, nor an OOXML stream 楼主是读取的另存为的exc ...
- Flink读取Kafka报错:KafkaException ByteArrayDeserializer is not an instance Deserializer
1.视界 2.背景 做flink读取kafka报错 org.apache.kafka.common.KafkaException: Failed to construct kafka consumer ...
- 记录---ClassCastException: java.util.Date cannot be cast to java.sql.Date报错解决方法
记录-ClassCastException: java.util.Date cannot be cast to java.sql.Date报错解决方法 先po代码: //1.读取配置文件中的基本信息I ...
- 源码编译报错系列之:Fatal error compiling: 无效的标记: --release -> [Help 1]
源码编译报错系列之:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (defau ...
- cv2.dnn读取模型报错
cv2.dnn读取模型报错 D:\ProgramData\Miniconda3\python.exe D:/project/detect/face/yolov5-face-landmarks-open ...
- 使用cmd打开java文件,报错:“错误,编码GBK的不可映射字符”
使用cmd打开java文件,报错:"错误,编码GBK的不可映射字符" 今天使用EditPlus写了一个小程序,用cmd运行时报错--"错误,编码GBK的不可映射字符&qu ...
- java exec执行tar_用java调用rpmbuild 报错,同一条命令直接复制到终端却能运行
用java调用rpmbuild 报错,同一条命令直接复制到终端却能运行. 命令如下: rpmbuild --define "_topdir /var/lib/jenkins/workspac ...
最新文章
- 拥抱AI技术,赋能智慧工业
- sd 卡驱动--基于高通平台
- 软件工程之快速原型模型
- redis简单队列java_使用Redis的简单消息队列
- Jenkins主从节点配置
- 这是一场数学、数学、数学的盛会
- 阿里云IoT将举办第三届极客创新挑战赛,吸引全球极客参赛
- Android极光推送
- 想了解任务型对话机器人,我们先从自然语言理解聊起
- java 无符号运算_java位运算和无符号运算
- php 模拟客户端访问,PHP通过伪造和模拟客户端COOKIE登陆来采集抓取远程网址
- 全网销售额超 2.67 亿!德施曼连续 5 年蝉联双11全网智能锁销冠
- 【数据库】SQLITE3 加密3
- 数据挖掘导论课后习题答案-第四章
- mysql 数据库遭遇 Loki 加密勒索病毒数据恢复
- [渝粤题库]西北工业大学刑法
- [数据分析] 5W2H分析方法
- html5 video 不拉伸,HTML 5视频拉伸
- html水调歌头实验总结,水调歌头教学课堂总结
- 人教版计算机三年级教学目标,人教版小学三年级数学下册教学计划