事实上没打算写这么一篇博文的,可是昨天在逛论坛的时候,发现一帖子,然后我又把帖子的内容在群里发了一通,结果出现了让人吃惊的结果,所以这里简单的给大家分享一下split()方法,免得大伙儿以后还会出现这样的基本知识错误!

接着说一下,昨天看到的帖子内容:

String[] str1 = ";;;".split(";");
String[] str2 = ";a;;".split(";");
String[] str3 = ";;a;".split(";");
System.out.println(str1.length);
System.out.println(str2.length);
System.out.println(str3.length);

大伙儿也能够先说说自己心里第一反应的答案是什么,记录下来,然后再慢慢得往下看,最后比一下结果!这样的问题。在好多的面试过程中,面试技术的人都会问这样的非常具有代表性的基础知识。

假设大家常常看jdk api的话,这样的问题应该不会犯错!

public String[] split(String regex)依据给定正則表達式的匹配拆分此字符串。
该方法的作用就像是使用给定的表达式和限制參数 0 来调用两參数 split 方法。 因此,所得数组中不包含结尾空字符串。 比如,字符串 "boo:and:foo" 使用这些表达式可生成下面结果: Regex 结果
: { "boo", "and", "foo" }
o { "b", "", ":and:f" } 參数:
regex - 定界正則表達式
返回:
字符串数组。它是依据给定正則表達式的匹配拆分此字符串确定的
抛出:
PatternSyntaxException - 假设正則表達式的语法无效

这里面已经介绍的非常清楚了。不知道有没有细心的人发现了这句非常重要的话。

终于的结果是:

str1的长度是:0

str2的长度是:2

str3的长度是:3

你的答案对了吗?这里不多说了。答案就在“所得数组中不包含结尾空字符串”,自个慢慢理解一下!

String的split()方法探索和大揭秘的更多相关文章

  1. String的split方法,你真的懂吗

    String的split方法相信大家都不陌生,或多或少都用过它将字符串转成一个数组,但是就是这样一个简单的方法,里面也有一个不得不注意.不深不浅的小坑. 本地测试代码如下图所示: 图1 大家会发现sp ...

  2. String的split方法支持正则表达式

    String的split方法支持正则表达式: 1. 正则表达式\s表示匹配任何空白字符 2. +表示匹配一次或多次

  3. String的Split方法的用法与要注意事项

    转自:http://shukuiyan.iteye.com/blog/1058672 之前在http://shukuiyan.iteye.com/blog/507915文中已经叙述过这个问题,但是最近 ...

  4. 关于String的split方法

    在做剑指offer的时候,有一道替换空格的题,立刻就想到用这个split方法来做,但发现,这个方法会丢掉字符串最后的空格??? 百度后,知道原因,这里直接复制粘贴了: 在使用java中的split按照 ...

  5. String 对象-->split() 方法

    1.定义和用法 split() 方法用于把一个字符串分割成字符串数组. 语法: string.split(separator,limit) 参数: separator:可选.字符串或正则表达式,从该参 ...

  6. Java中String的split()方法的一些需要注意的地方

    public String[] split(String regex, int limit) split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,这里我就不讨论第二个参数( ...

  7. Java中String的split()方法的一些疑问和试验

    http://tjuking.iteye.com/blog/1507855 和我想的还是不大一样,因为不知道源码也不知道具体是怎么实现的,我的理解如下: 当字符串只包含分隔符时,返回数组没有元素:当字 ...

  8. 【blog】批量删除时,guava Splitter与Java String的split 方法有什么区别

    参考链接 http://www.cnblogs.com/hxfirefox/p/4832913.html

  9. BUGFIX 09 - 记一次Java中String的split正则表达式匹配 - 引发`OutOfMemoryError: Java heap space`的oom异常 排查及解决 -Java根据指定分隔符分割字符串,忽略在引号里面的分隔符

    问题简述 说白了,Java根据指定分隔符分割字符串,忽略在引号(单引号和双引号)里面的分隔符; oom压测的时候,正则匹配"(?=(?:[^\"]*\"[^\" ...

随机推荐

  1. PHP -- 类和对象基础入门

         本文目录:    创建简单类和对象 继承 抽象类 接口 构造方法 析构函数     1. 创建简单类    创建一个People的类,在这里有四个要点说明一下: 第一个是在PHP中,访问属性 ...

  2. uoj 67 新年的毒瘤 tarjan求割点

    #67. 新年的毒瘤 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/67 Description 辞旧迎新之际 ...

  3. Swift 自定义打印方法

    Swift 自定义打印方法 代码如下 // MARK:- 自定义打印方法 func MLLog<T>(_ message : T, file : String = #file, funcN ...

  4. Delphi CompilerVersion Constant / Compiler Conditional Defines

    http://delphi.wikia.com/wiki/CompilerVersion_Constant The CompilerVersion constant identifies the in ...

  5. Python中用MacFSEvents模块监视MacOS文件系统改变一例

    最近一个项目中用gulp-watch不能满足需求,于是想到了用Python来解决问题.在安装了MacFSEvents模块后,写了下面一个小程序. #!/usr/bin/env python2 #-*- ...

  6. [置顶] linux常用命令大全

    SSH 密令控制台 user/pwd 一:停止tomcat 1,cd .. 进入根目录 2,cd home/ 3,ll 4,cd bin/ 进入tomcat bin目录 5,ll 6,ps -ef | ...

  7. 图解linux内核编译框架

    内核是如何编译成的 -知其然而不知其所以然 (第一篇) 转载:http://blog.chinaunix.net/uid-28236237-id-3840137.html Linux内核有分门别类的目 ...

  8. warning: suggest parentheses around assignment used as truth value

    编译时的警告如下:

  9. 用C语言实现面向对象的开发

    C语言的对象化模型 面向对象的特征主要包括: .封装,隐藏内部实现 .继承,复用现有代码 .多态,改写对象行为 采用C语言实现的关键是如何运用C语言本身的特性来实现上述面向对象的特征. 1.1 封装 ...

  10. JOIN与EXISTS(子查询)的效率研究

    使用MySQL提供的Sample数据库Sakila 现将profiling打开,用来一会查看sql执行时间 set profiling=1; exists 子查询与 join联接效率的对比,功能:查看 ...