事实上没打算写这么一篇博文的,可是昨天在逛论坛的时候,发现一帖子,然后我又把帖子的内容在群里发了一通,结果出现了让人吃惊的结果,所以这里简单的给大家分享一下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. Struts2 学习笔记 09 访问Web元素

    我们想要访问Map类型request,session,application.真实类型HttpServletRequest,HttpSession,ServletContext的引用,并对它们进行操作 ...

  2. 无线遥控器方案 Si4010/Si4012

    Si4010包含一个嵌入式兼容8051微控制器(MCU),内具4 kB的RAM.8 kB的一次性编程(OTP)非易失性内存.一个128位EEPROM以及用于函数库(library)功能的12 kB R ...

  3. x-requested-with 请求头 区分ajax请求还是普通请求

    在服务器端判断request来自Ajax请求(异步)还是传统请求(同步): 两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数 1.传统同步请求参数 accept  t ...

  4. Spring自动扫描组件

    通常情况下,声明所有的Bean类或组件的XML bean配置文件,这样Spring容器可以检测并注册Bean类或组件. 其实,Spring是能够自动扫描,检测和预定义的项目包并实例化bean,不再有繁 ...

  5. Android开发,布局xml文件命名注意事项——不能包含任何大写字母

    转自:http://blog.sina.com.cn/s/blog_628b45090100zuit.html 在开发Android应用时,会接触到布局文件,一般在 工程名/res/layout/*. ...

  6. dedecms织梦 标签远程文件写入漏洞

    测试方法: @Sebug.net   dis本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! 前题条件,必须准备好自己的dede数据库,然后插入数据: insert into d ...

  7. Orchard运用 - 如何删除部分内容显示

    最近在潜心研究Orchard CMS,个人觉得要深入了解一个系统最好的办法, 就是使用它做些什么尝试,最好有些真实的实践,比如不妨基于Orchard搭建个人博客, 看看有哪些场景需要定制,哪些功能可以 ...

  8. 04-树4. Root of AVL Tree (25)

    04-树4. Root of AVL Tree (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue An A ...

  9. SCP远程拷贝命令

    利用scp指令可以在linux机器间传递文件,个人使用几次感觉效率还是较高的,比SFTP+本地做媒介要高得多. 1.本地拷贝到远程. 这种方式的命令模式是scp local_file remote_u ...

  10. div+css 和 xhtml+css是一回事么?

    div+css 和 xhtml+css是一回事.只是说法不一样,表达得意思都是通过CSS定义DIV 布局. 那为什么地方要说成XHTML +css 呢? 以为我们做网站用CSS布局得时候不光是用了DI ...