最近使用split做字符串分割的功能,一直以为它就是可以将“01```1979-09-21``````”通过语句
.split("```");
就能四个长度的数组。结果工程上报问题,看了日志发现MD这个家伙根本没有完成我的愿望。它只分隔了有数据的两个长度的数组出来。
上网查看才知道,要想将空数据也能正常分隔,需要调用它的重载方法
.split("```", -1);
这样就能分隔四个长度的数组了。
JDK原文:
split
public String[] split(String regex,
int limit)
根据匹配给定的正则表达式来拆分此字符串。
此方法返回的数组包含此字符串的每个子字符串,这些子字符串由另一个匹配给定的表达式的子字符串终止或由字符串结束来终止。数组中的子字符串按它们在此字符串中的顺序排列。如果表达式不匹配输入的任何部分,则结果数组只具有一个元素,即此字符串。
limit 参数控制模式应用的次数,因此影响结果数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后项将包含超出最后匹配的定界符的所有输入。如果 n 为非正,则模式将被应用尽可能多的次数,而且数组可以是任意长度。如果 n 为零,则模式将被应用尽可能多的次数,数组可有任何长度,并且结尾空字符串将被丢弃。
例如,字符串 "boo:and:foo" 使用这些参数可生成下列结果:
RegexLimit结果
: |
2 |
{ "boo", "and:foo" } |
: |
5 |
{ "boo", "and", "foo" } |
: |
-2 |
{ "boo", "and", "foo" } |
o |
5 |
{ "b", "", ":and:f", "", "" } |
o |
-2 |
{ "b", "", ":and:f", "", "" } |
o |
0 |
{ "b", "", ":and:f" } |
这种形式的方法调用 str.split(regex, n) 产生与以下表达式完全相同的结果:
Pattern
.compile
(regex).split
(str, n)
参数: regex
- 定界正则表达式 limit
- 结果阈值,如上所述 返回: 字符串数组,根据给定正则表达式的匹配来拆分此字符串,从而生成此数组
分享到:
相关推荐
### ExtNet控件使用心得详解 #### Panel控件特性概览 Panel控件在ExtNet框架中扮演着至关重要的角色,其丰富的配置选项使得开发者能够创建出高度定制化的界面组件。以下是一些关键特性的详细解析: - **Closable*...
本文旨在分享作者在学习正则表达式过程中的心得体验,并重点介绍了几种常见编程语言(Python、C#、PHP)及文本编辑器(Notepad++)中正则表达式的使用技巧。此外,还特别对比了不同语言之间正则表达式的异同之处。 ...
1.match() 从开始位置开始匹配 2.search() 任意位置匹配,如果有多个匹配,只返回第... 5.split()方法 a.根据正则式划分字符串,可指定最大的划分数 >>> p = re.compile(r’\W+’) >>> p.split(‘This is a test, shor
靶机练习 NARAK,个人学习心得 靶机练习 靶机练习是渗透测试的重要组成部分,它可以帮助我们检测系统中的安全漏洞和脆弱性。在这个练习中,我们使用的靶机是 NARAK,并且通过渗透测试来获取 Flag。 探测靶机 IP ...
val wordCounts = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b) wordCounts.collect() ``` 这段代码将执行链式操作,统计 README.txt 文件中每个单词的出现次数...
在处理字符串时,可以使用Substring、TrimEnd或者Regex.Split方法来删除或分割字符串。Substring方法可以截取字符串的一部分,TrimEnd可以去除字符串末尾的特定字符,而Regex.Split则允许我们根据正则表达式规则来...
### OWC 开发心得及单个图表多条曲线(横轴、纵轴对应处理问题)解决方案及算法(C#) #### 一、OWC简介 OWC (Office Web Components) 是微软提供的一套用于Web应用的组件库,主要用于在Web页面上展示Excel表格、...
- 使用`man split > file1`将`split`命令的帮助信息输出到文件`file1`中。 - 使用`grep -v "^$" file1 >> file2`从`file1`中删除空行并将结果保存到`file2`。 - 使用`cp`和`mv`命令复制文件`file2`到`file3`并重...
model.fit(train_images, train_labels, epochs=10, batch_size=32, validation_split=0.2) ``` ##### 3.4 结论与建议 通过本案例的开发,我们深入了解了计算机视觉在实际应用中的重要性和挑战。为了提高开发效率...
在IT领域,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分析。它的核心设计思想是分布式存储和并行计算,使得海量数据的处理变得高效且可靠。以下是对Hadoop学习的详细总结: **HDFS(Hadoop Distributed...
AddSlashes 函数将字符串中的特殊字符(如单引号、双引号、反斜线等)加上斜线,以便在数据库查询中使用。这是因为在 SQL 查询语句中,某些特殊字符需要被加上斜线,以避免查询语句的语法错误。 2. bin2hex: 二进位...
如果Map数量为1,不需要`--split-by`,否则需要指定分桶列。 - (2)条件导入:使用 `--where` 参数可以指定导入数据的条件。例如,导入 `id>2` 的记录到 `/sqoop/test2` 目录。 在导入过程中,可以通过Hadoop的Web...
C4.5在ID3的基础上引入了信息增益率,通过公式Gain Ratio(S, A) = Gain(S, A) / Split Information(S, A)来平衡属性的取值数量和信息增益,避免了多值属性的偏好问题。对于连续型属性值,C4.5采用区间划分方法,通过...
2. **数据分割**:使用Scikit-learn中的`train_test_split`函数将数据集划分为训练集和测试集。 3. **模型训练**:利用Scikit-learn中的`KNeighborsClassifier`类训练KNN模型。 4. **模型评估**:通过计算测试集上的...
此外,`String`类还提供了丰富的其他方法,如`length()`获取长度,`substring()`截取子字符串,`trim()`去除两端空白,以及`split()`根据分隔符拆分字符串等。 总之,理解和熟练运用Java中的数组和字符串对于Java...
3. **分布式架构**:HBase通过RegionServer分布式部署,数据自动分片(Split)和负载均衡。 4. **时间戳**:每一行数据都有一个时间戳,可以存储多版本数据,方便追踪历史记录。 5. **强一致读**:HBase支持实时...
var arr = sSpace.split('.'), i = 0, nameI; var root = window; for (; nameI = arr[i++];) { if (!root[nameI]) { root[nameI] = {}; } root = root[nameI]; } return root; } ``` 这个namespace函数...
实验心得部分,学生反思了Python与其他编程语言的差异,认识到熟悉基础知识和课本例题的重要性,表示会在后续学习中更加重视基础,提高自己的实践能力。 总的来说,这份实验报告覆盖了Python语言的核心概念,包括...
- **软件帮助**: 在使用过程中遇到任何问题,可通过按F1键弹出帮助窗口获取解决方案。 - **中文界面设置**: 菜单默认显示为英文,但用户可以通过以下步骤将其更改为中文:主页 -> Configure -> Setup System ...