String str="123,123,,123,,";
System.out.println(str.split(",").length);// 这时结果会是4, 最后的2个因为是空白没有算
System.out.println(str.split(",",-1).length);//这时会是6, 是我想要的
为什么呢, 看下源码
最后执行到的是
public String[] split(CharSequence input, int limit) {
int index = 0;
boolean matchLimited = limit > 0;
ArrayList<String> matchList = new ArrayList<String>();
Matcher m = matcher(input);
// Add segments before each match found
while(m.find()) {
if (!matchLimited || matchList.size() < limit - 1) {
String match = input.subSequence(index, m.start()).toString();
matchList.add(match);
index = m.end();
} else if (matchList.size() == limit - 1) { // last one
String match = input.subSequence(index,
input.length()).toString();
matchList.add(match);
index = m.end();
}
}
// If no match was found, return this
if (index == 0)
return new String[] {input.toString()};
// Add remaining segment
if (!matchLimited || matchList.size() < limit)
matchList.add(input.subSequence(index, input.length()).toString());
// Construct result
int resultSize = matchList.size();
if (limit == 0)
while (resultSize > 0 && matchList.get(resultSize-1).equals(""))
resultSize--;
String[] result = new String[resultSize];
return matchList.subList(0, resultSize).toArray(result);
}
这里
if (limit == 0)
while (resultSize > 0 && matchList.get(resultSize-1).equals(""))
resultSize--;
这里把后面的空白字符串减去了。
相关推荐
split()分割字符串 1.不同环境下的区分 Java:分割字符串不能写成split(“$”)//$为要分割的字符 Android:分割字符串需要加上中括号split(“[$]”)//$为要分割的字符 2.特殊用法–当split()分割字符串遇上特殊...
Split Split(string1,delimiter[,count[,start]]) 将字符串根据delimiter拆分成一维数组,其中delimiter用于标识子字符串界限。如果省略,使用空格("")作为分隔符。count返回的子字符串数目,-1指示返回所有子字符串...
Split Split(string1,delimiter[, count[, start]]) 将字符串根据delimiter拆分成一维数组,其中delimiter用于标识子字符串界限。如果省略,使用空格("")作为分隔符。 count 返回的子字符串数目,-1 指示返回所有子...
* 使用一个字符串分割另一个字符串 * * @param delimiter 边界上的分隔字符 * @param haystack 输入的字符串 * @param out 输出的字符串指针 * @return 分割成了多少个成员 */ int explode(char *delimiter, ...
这是我遇到的问题,然后发现pb里没有split方法,就自己写了一个,应该还能算是简单而实用吧
1. 字符串连接 2.字符串分隔, split 一个 string 的部分到一个内表或一系列的变量
详解C++的String类的字符串分割实现 功能需求,输入一个字符串“1-2-3”切割出“1”、“2”、“3”。在Java下直接用String的split函数就可以了。c++下String没有直接提供这个函数,需要自己写。 网上给出的解决方案...
我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用。 一、用strtok函数进行字符串分割 原型: char *strtok(char *str, const char *delim); 功能:分解字符串为一组字符串。 参数...
下面小编就为大家带来一篇浅谈java String.split丢失结尾空字符串的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
SQLServer数据库中创建字符串截取功能(Split),调用方法: Split(string,str)
标准C/C++编写的字符串分隔函数,可以设置分隔字符串,解出字符串存到vector里面。有需要的可以下载
delphi7分割字符串
按字符串截取,使用的是正则表达式,简单的两行代码,就解决很多问题。 如下 代码如下:string content =@”长字符创”; Regex regex = new Regex(@”按照截断的字符串”); string[] result = regex.Split...
单字符的字符串(长度1),功能如下:split(“ab#12#453”, “#”) 返回带5个元素的数组:ab, #, 12, #, 453 带中括号的字符串(长度>2),功能如下:split(“a?b?gf#e”, “[?#]”) 返回带7个元素的数组:a, ?, b, ...
西门子1200PLC字符串分割函数,采用SCL语言写,通过“外部源文件”添加到项目中,然后对该文件右键--选择“由源生成块”即生成该函数。
将字符串按某个固定字符拆分成一个表结构(value,id) eg:1,2,3,3,4 拆分后: value id 1 1 2 2 3 3 3 4 4 5
主要记录在工作中,初识db2遇到的一些问题 db2字符串分隔,函数,过程的使用
代码如下:string str=”aaa|||bbb|||ccc”; string[] sArray=str.Split(new[] { “|||”... 您可能感兴趣的文章:C#中使用Split方法拆分字符串实例C#中使用split分割字符串的几种方法小结C# Split分隔字符串的应用(C#、s
C#中有一个字符串拆分函数String.Split(),可以用于将一个字符串,拆分为一个字符串数组。在拆分的时候,需要一个拆分的“分隔符”。这个“分隔符”可以是一个字符,也可以是多个字符组成一个字符串。 先举一个简的...
public static List<string> StringSplit(string source, string keyword) { if (string.IsNullOrEmpty(keyword)) return new List<string> {source}; var list = new List<string>(source.Split(new[] {...