精华内容
下载资源
问答
  • java 字符串split

    2019-04-10 15:04:29
    java 字符串split 欢迎使用Markdown编辑器 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会...
    展开全文
  • 主要介绍了Java字符串split使用方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • java字符串split

    2014-04-09 17:11:39
    .split(":").length);//末尾分隔符全部忽略   System.out.println(":ab:cd:ef::".split(":",-1).length);//不忽略任何一个分隔符   System.out.println(StringUtils.split(&...
    1. System.out.println(":ab:cd:ef::".split(":").length);//末尾分隔符全部忽略  
    2.   System.out.println(":ab:cd:ef::".split(":",-1).length);//不忽略任何一个分隔符  
    3.   System.out.println(StringUtils.split(":ab:cd:ef::",":").length);//最前面的和末尾的分隔符全部都忽略,apache commons  
    4.   System.out.println(StringUtils.splitPreserveAllTokens(":ab:cd:ef::",":").length);//不忽略任何一个分隔符 apache commons   
    5. 输出:  
    6. 4  
    7. 6  
    8. 3  
    9. 6  
    展开全文
  • Java字符串split分割星号 等特殊字符问题
                   

    Java的split()方法分割字符串比较常用(见【Java】字符串以某特殊字符分割处理 ),但在有的时候,会遇到星号*等正则表达式中的特殊字符而无法分割的问题。

    比如某需求,用户输入产品规格:厚*宽*长,在后台需拆分该规格字符串,如果写成如下代码则无法处理:

    String str="5*200*450";String strs[]=str.split("*");
    对于星号这类特殊符号,要在前面加上\\,如:

    String str="5*200*450";String strs[]=str.split("\\*");

    作此文以备忘


               

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

    展开全文
  • 先看下面的方法,事先预测一下,经过split方法,按逗号进行分割为数组之后,生成的数组的长度是多少,目测很多人都觉得是8,但是结果却出乎意料。是5而不是8.private static void testSplit() { String ss = ",aa,bb...

    先看下面的方法,事先预测一下,经过split方法,按逗号进行分割为数组之后,生成的数组的长度是多少,目测很多人都觉得是8,但是结果却出乎意料。是5而不是8.

    private static void testSplit() {        String ss = ",aa,bb,cc,dd,,,";        String[] array = ss.split(",");         System.out.println(array.length);//结果是5,而不是预想中的8        for (int i = 0; i < array.length; i++) {            System.out.println(array[i]);        }    }

    然后就是正儿八经的运行结果图:

    9b769494d9cd134957d1d106ef85fad3.png

    可以看到,结果真的是5而不是我们猜的8,这是为什么呢?

    原因解析:

    点进去看源码,debug一下,如下图:

    9c2ba939a2f57bbca6310524a35ead23.png

    可以看到,刚刚开始的时候,确实是有0-7,8个分割出来的东西存在,有三个是空字符串,""。不是null。不用担心空指针异常。

    然后 看到下面的继续走,if语句,就看到,他把这个list从尾部开始判断,如果这个list的后面的字符串的长度是0,那么这个resultSize就 减减,然后一直while循环,

    直到不符合条件,那么list的下标是5、6、7的值就被抛弃了,然后新生的结果字符串数组,的大小就变成加工过后的长度,那么就变成了长度 5的数组。

    list.subList(0, resultSize).toArray(result)

    就是这句话啦。

    他只是处理后面尾部的空字符串,不处理中间的空字符串和 开头的空字符串。

    知道这个原理之后,那么这个 问题以后怎么变,你都了然于胸啦。

    下面是又更新的

    (2017/07/13更新)

    现在要求字符串

    "aa12sas32sasa223sas12as12wqe"//去掉数字,然后弄成数组

    "aa,,sas,,sasa,,,,sasas,,,"//去掉逗号,不管几个逗号,都去掉

    "aa  sas sa sa     sas  as  "//去掉空格,也不管几个,

    把他们给分解成数组,同时刨除掉不用的多余信息。

    具体实现代码如下:

    private static void testSplitPlus() {        String ss = "aa12sas32sasa223sas12as12wqe";        String[] array = ss.split("[\\d]+");        System.out.println(Arrays.toString(array));        ss = "aa,,sas,,sasa,,,,sasas,,,";        array = ss.split("[,]+");        System.out.println(Arrays.toString(array));        ss = "aa  sas sa sa     sas  as  ";        array = ss.split("[\\s]+");        System.out.println(Arrays.toString(array));    }

    下面再看看这个split的源码。

    public String[] split(String regex) {        return split(regex, 0);    }

    不知道你看到没,那个regex,不就是正则表达式的意思嘛?

    那就明白了,这个方法是支持正则表达式操作的。那上面的代码就好解释啦。

    第一个[\\d]+这个解释就是\\是转义符,d表示数字,括起来后面的加号表示一个或者多个,那么就可以解释运行结果啦。

    第二个[,]解释类似,就是逗号出现一次或多次,

    第三个,\\s,就是匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。

    然后下面,看运行结果。

    9d9a14752d17d094ad07927d80c7f934.png

    这就是我们要的结果啦。

    ---------------------

    作者:李学凯

    来源:CSDN

    原文:https://blog.csdn.net/qq_27093465/article/details/54910323

    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 1.1 split 的坑 前几天在公司对通过 FTP 方式上传的数据文件按照事先规定的格式进行解析后入库,代码的大概实现思路是这样的:先使用流进行文件读取,对...在 Java 中使用 split 方法对字符串进行分割是经常使用的...
  • Java字符串split方法可以分割字符串,但和其他语言不太一样,split方法的参数不是单个字符,而是正则表达式,如果输入了竖线(|)这样的字符作为分割字符串,会出现意想不到的结果, 如, String str="中国|...
  • Java对于字符串split函数的源码笔记 之前对字符串的split函数都是一知半解,今天好好看了看源代码,对之前理解不到位的地方做一些笔记,加深下对split函数的理解 函数的定义 一般调用的是只有一个参数的 第一个参数为...
  • 先来看几行简单的Java代码,如下:System.out.println("1,2".split(",").length);System.out.println("1,2,".split(",").length);System.out.println("".split(",").length);System.out.println(",".split(",")....
  • 今天在写一个Java字符串切分程序时,发现切分后的计数一直有问题,调了半天才找到原因。。。 下面先来看一个问题:有字符串str=“string split test” ,使用String类的split方法,根据空格切分后的字符串数组有...
  • java字符串split,只传一个参数,后面空白的字符串会被忽略: public static void main(String[] args) { String str = "ab|c||"; String [] split = str.split("\\|"); System.out.println(Arrays.toString...
  • 先来看几行简单的Java代码,如下: System.out.println("1,2".split(",").length); System.out.println("1,2,".split(",").length); System.out.println(""....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,498
精华内容 1,799
关键字:

java字符串split

java 订阅