Java中的split函数拆分后变成null的问题

对于一些特殊的情况,split拆分后并没有保留全的元素

如下例子:

String x ="a,,,,,,";
String []y = x.split(",");
for(int i=0;i<y.length;i++){
    System.out.println(y[i]);
}

输出结果:

只拆分得到了第一个字母,后面默认的空字符串并没有保留。

后来想到了使用StringUtils函数,查了一下,修改为如下:

String x ="a,,,,,,";
String y[] = StringUtils.splitPreserveAllTokens(x,",");
for(int i=0;i<y.length;i++){
    System.out.println(y[i]);
}

输出结果:

public static String[] splitPreserveAllTokens(String str, char separatorChar)
把字符串str拆分成一个数组,用字符(separatorChar)作为分隔符,并且保留所有的标识。

StringUtils函数还是很强大的,对于字符串的问题不会搞了看看这里还是不错的
如果当年搞ACM的时候,知道这个东西,很多问题都解决了 T_T

时间: 2024-10-07 06:13:25

Java中的split函数拆分后变成null的问题的相关文章

Java中的split函数的用法

Java中的 split  函数是用于按指定字符(串)或正则去分割某个字符串,结果以字符串数组形式返回: 例如: String str="[email protected]"; String[] a = str.split("@"); System.out.println("处理结果: "+a[0]+","+a[1]);   //输出的是: 处理结果: 1234,abc 对于分割的字符(串),通常是常见,普通的,没什么问题:

举例详解Python中的split()函数的使用方法

这篇文章主要介绍了举例详解Python中的split()函数的使用方法,split()函数的使用是Python学习当中的基础知识,通常用于将字符串切片并转换为列表,需要的朋友可以参考下 函数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)os.path.split():按照路径将文件名和路径分割开 一.函数说明1.split()函数语法:str.

Scala中String.split函数

今天在写一个统计用户信息的程序时出现了bug,导致统计的结果根真实值有很大的差距.经过仔细检查以后,我发现时对scala中的split函数的理解不够透彻导致的.下面我讲详细解释split的参数及用法. 因为scala中的String复用了Java的String,因此这也是Java中String.split的用法. split函数主要有两种参数形式: def split(arg0: String): Array[String] def split(arg0: String, arg1: Int):

Java中的回调函数学习

Java中的回调函数学习 博客分类: J2SE JavaJ# 一般来说分为以下几步: 声明回调函数的统一接口interface A,包含方法callback(); 在调用类caller内将该接口设置为私有成员private A XXX; 在caller内提供实现A接口的public方法(将外部该接口的实现类通过形参传入caller的XXX): caller的某个方法dosth()中会用到XXX.callback()方法; 在caller的实例中,先实现A接口,后调用dosth()方法: 网上流行

Java中的回调函数学习-深入浅出

Java中的回调函数一般来说分为下面几步: 声明回调函数的统一接口interface A.包括方法callback(); 在调用类caller内将该接口设置为私有成员private A XXX; 在caller内提供实现A接口的public方法(将外部该接口的实现类通过形參传入caller的XXX): caller的某个方法dosth()中会用到XXX.callback()方法; 在caller的实例中,先实现A接口.后调用dosth()方法: 样例: Java代码   //回调函数接口及方法

java中string.trim()函数的使用

java中string.trim()函数的的作用是去掉字符串开头和结尾的空格,防止不必要的空格导致的错误. public static void main(String arg[]){ String a=" abc"; String b="abc"; System.out.println(b.equals(a)); //不会相同,因为a中有空格 a=a.trim();//去掉字符串中的空格 System.out.println(a.equals(b)); } 控制台

Java 的 String.split 函数,消除空字符串

代码: String str = "the music made   it   hard      to        concentrate"; String delims = "[ ]+"; String[] tokens = str.split(delims); 结果为: the, music, made, it, hard, to, concentrate 原因: String.split(String regex):参数是一个正则表达式 转自:http:/

PL/SQL实现JAVA中的split()方法的小例子

众所周知,java中为String类提供了split()字符串分割的方法,所以很容易将字符串以指定的符号分割为一个字符串数组.但是在pl/sql中并没有提供像java中的split()方法,所以要想在pl/sql中实现字符串的分割还需要自己动手.由于在项目中需要用到此类方法,所以自己研究了一下,方便以后参考.这里以逗号作为分隔符为例,代码如下: 1 declare 2 v_str varchar2(200) := 'abd,324,u78,23f,sd09,2345,dsaf,9079'; 3

SQL中实现SPLIT函数几种方法总结

例1 代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10)) returns @temp table(a varchar(100)) --实现split功能 的函数 --date :2003-10-14 as begin declare