Java字符串分割不一致

标签 java string

如果我用 "|" 字符分割 "hello|""|hello" ,那么我会得到第一个的一个值以及第二个版本的两个值。

String[] arr1 = new String("hello|").split("\\|");
String[] arr2 = new String("|hello").split("\\|");
System.out.println("arr1 length: " + arr1.length + "\narr2 length: " + arr2.length);

打印出:

arr1 length: 1
arr2 length: 2

这是为什么?

最佳答案

根据java docs 。如果第一个字符是分隔符,split 将创建一个空字符串,但如果最后一个字符(或连续字符)是分隔符,则不会创建空字符串(或多个空字符串)。无论您使用什么分隔符,您都会得到相同的行为。

关于Java字符串分割不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31516742/

相关文章:

java - 使用 Intent 打开 Waze GPS 导航或谷歌地图

java - Freemarker 模板刷新后缓存共享变量

java - 如何从txt文件中根据最小数量获取5个项目

c++ - 尝试将字符串的元素与循环和索引进行比较,但索引不会递增

python - 通过Python中的正则表达式多次搜索字符串中的模式

java - 使用 Itext Pdf 将图像添加到 Pdf 文件

java - java中有没有一种方法可以唯一标识对象

c++ - 在同一赋值语句中将多个字符串文字转换为 const char*

c++ - Boost String Replace 不会用字符串替换换行符

html - 在索引处的字符串中插入字符串(快速)