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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java正则表达式之split()方法实例详解

    本文实例讲述了Java正则表达式之split()方法.分享给大家供大家参考,具体如下: 1.方法介绍 (1)public String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串 (2)public String[] split(String regex,int limit) 根据匹配给定的正则表达式来拆分此字符串 2.方法实例 /** * @Title:Split.java * @Package:com.you.data * @Description:Ja

  • Java Swing中的工具栏(JToolBar)和分割面版(JSplitPane)组件使用案例

    一:工具栏(JToolBar) 代码示例: 复制代码 代码如下: import javax.swing.*; //工具栏的使用案例 public class JToolBarDemo2_jigloo extends javax.swing.JFrame { private JToolBar myJToolBar;  private JButton jB_file;  private JButton jB_edit;  private JButton jB_tools;  private JBut

  • Java的split方法使用详解

    相信大家都经常使用String 的split方法,但是大家有没有遇到下面的这种情况: 大家想想下面的代码执行结果是什么 public static void main(String[] args) { // TODO Auto-generated method stub String str1 = "a,b,c,,,a"; String str2 = "a,b,c,,,"; String str3 = "a,b,c, , ,"; String[]

  • java split用法详解及实例代码

    public String[] split(String regex) 默认limit为0 public String[] split(String regex, int limit) 当limit>0时,则应用n-1次 public static void main(String[] args) { String s = "boo:and:foo"; String[] str = s.split(":",2); System.out.print(str[0]

  • 浅谈java String.split丢失结尾空字符串的问题

    java中的split函数用于将字符串分割为字符数组是很方便的,但由于不是很熟悉,犯了错误 如下: String strtest = "1,2,"; String arry[] = strtest.split(","); 这样得到的数组元素个数只是2两个,为什么呢,最后一个","后没有内容,它没有作为空字符串成为第三个数组元素,结尾的空字符串被丢弃了! 这个函数还有另一种重载方式 :public String [] split (String 

  • java 中用split分割字符串,最后的空格等不被拆分的方法

    在使用java中的split按照"\t",拆分字符串的时候,发现如果最后的几个字段是空,只是用\t分割,是连着的\t的话,就不会被分割,如 "d\tc\te\t\t\t"最后的几个\t就不会被分割,应该是在拆分之前对字符串进行了处理. 导致的拆分字段个数错误.查了一下APi,需要在split中添加参数-1,String[] values = line.split("\t",-1); imit 参数控制应用模式的次数,从而影响结果数组的长度 如果限

  • Java中String.split()用法小结

    在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅供大家参考: 1.如果用"."作为分隔的话,必须是如下写法,String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 2.如果用"|"作为分隔的话,必须是如下写法,String.split("\\|"),这样才能正确的分隔开,不能用String.s

  • java用split分割字符串的一个有趣现象

    下面有段代码: String str="1#2#3"; String[] strs=str.split("#"); System.out.println(strs.length); ok,上面这段代码最终输出结果是2,这没有问题,但是如果换成下面的写法呢,请看: String str="##"; String[] strs=str.split("#"); System.out.println(strs.length); 结果输

  • 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,,,,,,&qu

  • Python split() 函数拆分字符串将字符串转化为列的方法

    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) os.path.split():按照路径将文件名和路径分割开 一.函数说明 1.split()函数 语法:str.split(str="",num=string.count(str))[n] 参数说明: str: 表示为分隔符,默认为空格,但是不能为空('').若字符串中没有分隔符

  • JAVA中split函数的常见用法实例

    只写经常使用的,并不完整. 1.基本用法,将字符串按照指定字符串进行分割,例如: public class Main { public static void main(String[] args) { String ss = "abcabcdefg"; String[] split = ss.split("bc"); for(String st:split){ System.out.println(st); } System.out.println("分

  • java Split 实现去除一个空格和多个空格

    用Split函数可以去除输入一个字符串中的空格,并且一般都是将它存储在一个字符串数组之中 例如: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String s=in.nextLine(); //如果我输入:0 1 2 3 4 String[] str=s.split(" "); Sys

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

    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) os.path.split():按照路径将文件名和路径分割开 一.函数说明 1.split()函数 语法:str.split(str="",num=string.count(str))[n] 参数说明: str:   表示为分隔符,默认为空格,但是不能为空('').若字符串中没有分

  • python中的split()函数和os.path.split()函数使用详解

    Python中有split()和os.path.split()两个函数: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表. os.path.split():将文件名和路径分割开. 1.split()函数 语法:str.split(str=" ",num=string.count(str))[n] 参数说明: str: 表示为分隔符,默认为空格,但是不能为空串.若字符串中没有分隔符,则把整个字符串作为列表的一个元素. num:表示分割次数.如果存在参

  • Java split 分隔空值无法得到的解决方式

    应用场景 String s1="A,B," 将s1 以逗号分隔,转换成集合 正常的转换结果如下 [A,B] 逗号后的空不再进行分隔,若想逗号后的空即转换为三个元素的集合 List<String> list = Arrays.asList(s1.split(",",-1)); 只需要在跟个条件后,添加-1 即可 ,转换的结果如下 [A, B, ] 补充知识:Java Sting类关于split处理空串以及截取最大数 java的String类中有个split

  • Java 回调函数详解及使用

    Java 回调函数详解 前言: C语言中回调函数解释: 回调函数(Callback Function)是怎样一种函数呢? 函数是用来被调用的,我们调用函数的方法有两种: 直接调用:在函数A的函数体里通过书写函数B的函数名来调用之,使内存中对应函数B的代码得以执行.这里,A称为"主叫函数"(Caller),B称为"被叫函数"(Callee). 间接调用:在函数A的函数体里并不出现函数B的函数名,而是使用指向函数B的函数指针p来使内存中属于函数B的代码片断得以执行--听

  • VBS教程:函数-Split 函数

    Split 函数 返回基于 0 的一维数组,其中包含指定数目的子字符串. Split(expression[, delimiter[, count[, start]]]) 参数 expression 必选项.字符串表达式,包含子字符串和分隔符.如果 expression 为零长度字符串,Split 返回空数组,即不包含元素和数据的数组. delimiter 可选项.用于标识子字符串界限的字符.如果省略,使用空格 ("") 作为分隔符.如果 delimiter 为零长度字符串,则返回包含

  • ASP 中 Split 函数的实例分析

    asp下使用split实现数组操作的方法ASP 中 Split 函数的实例 大家有碰到过要想取一字符串里的某些值而无从下手?有没有觉得看书或教材对split的写法糊里糊涂--如果有此疑问的话,请看下面我对例子的解释,相信您会对这个有一定的了解. 我先介绍一下Split函数的用法: 返回值数组 = Split("字符串","分割符") 假设变量strURL保存着URL值,如strURL = "ftp://username:password@server&qu

随机推荐