优培东方
PMP®2026年报名招生正在进行

点击咨询

PMP®:Java String.split()用法和误区

发布时间: |2022年04月18日 | 点击次数:| 关键词:PMP,PMP 培训,PMP认证,PMP考试,PMP培训机构,优培东方 另辟蹊径

 Java中有很多方法,都有一些自己的小窍门和使用误区,今天小编在写程序的时候,就遇到了一个小问题,当使用split分隔一个字符串的时候,总是得不到自己想要的结果,于是小编翻阅API,最终将问题得以解决,不过没费多长时间,小编也特意深入了解了一下split的内部机制,下面就把解决这个问题的心得以及使用时一些相关的误区总结一下,分享给各位技术君,希望在以后的工作中,能让你们少走些弯路。

        众所周知,在java.lang包中有String.split()方法,其结果返回是一个数组,相信很多小伙伴在开发过程中会经常用到。

 

1
简单用法

需要分隔一个字符串时,直接调用split()方法即可。

public class SplitTest {
public static void main(String[] args) {
    //一般分割
    String a="hello world";
    String[] array=a.split(" ");
    System.out.println(array[0]);
    System.out.println(array.length);
}

返回结果如下:

hello
2

 

2
特殊字符的分隔

 

特殊情况有 * ^ : | . \,当我们使用这些特殊字符的时候,如果没有注意,就有可能会得到一些偏离我们预期的结果,当然,对有经验的大牛来说,这些都是毛毛雨了。 

例如:String str="hello*world";

单符号作为分隔符
 

 


 

String str="hello*world";

String[] str=str.split("\\*");
System.out.println(str[0]+str[1]);

 

String str="hello^world";
String[] str=str.split("\\^");
System.out.println(str[0]+str[1]);

 

String str="hello:world";
String[] str=str.split("\\:");
System.out.println(str[0]+str[1]);

 

String str="hello|world";
String[] str=str.split("\\|");
System.out.println(str[0]+str[1]);

 

String str="hello.world";
String[] str=str.split("\\.");
System.out.println(str[0]+str[1]);

 

String str="hello\world";
String[] str=str.split("\\");
System.out.println(str[0]+str[1]);
多个符号作为分隔符
 
String str="hello^world@ni#hao";
String[] str=str.split("\\^|@|#");
System.out.println(str[0]+str[1]+str[2]);

总结:

(1)split表达式,其实就是一个正则表达式。*  ^ | 等符号在正则表达式中属于一种有特殊含义的字符,如果使用此种字符作为分隔符,必须使用转义符即\\加以转义。

(2)如果使用多个分隔符则需要借助 | 符号,需要转义符的仍然要加上分隔符进行处理。

 

3
字符串末尾丢失空字符串

 

字符串末尾分隔符不能识别

 

 

例如:

 

public static void main(String[] args) {
  String str="hello,world,";
  String[] str=str.split(",");
}

通过这种方式,得到的数组元素个数只是两个,最后一个","后没有内容,它没有作为空字符串成为第三个数组元素,结尾的空字符串被丢弃了!这个函数还有另一种重载方式 :public String [] split (String  regex, int limit) ,API中是这么解释的:

limit 参数控制模式应用的次数,因此影响所得数组的长度。

如果该限制 n 大于 0,则模式将被最多应用 于n  - 1 次,数组的长度将不会大于 n ,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。

如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。

如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。

而对于函数 public String [] split (String  regex)该方法的作用就是使用给定的表达式和限制参数 0 来调用两参数 split方法。因此,所得数组中不包括结尾空字符串。

所以如果不想让结尾的空字符串被丢弃,那么应该这样写:

public static void main(String[] args) {
 String str="hello,world,";
 String[] str=str.split(",",-1);
}

PMP®:Java String.split()用法和误区

优培东方送你一张内部需求跟踪矩阵:


                                   内部需求跟踪矩阵
                 项目名称:                        准备日期:                      
编号 商业需求 排序 来源 编号 技术需求 排序 来源
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
                                                               1/1
免责声明:以上便是【PMP®:Java String.split()用法和误区】的全部内容。大多文章纯属本网站原创,部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快处理。
标题:PMP®:Java String.split()用法和误区 地址:https://www.hxtdpx.com/PMPhydt/6737.html

PMP近期热点

学员感言

1.来自广州的赵同学:

在朋友的推荐下选择了有优培东方(原广州慧翔),经历了时长两个月的pmp培训,过程虽然辛苦,但是结果说明了一切优培东方(原广州慧翔)的老师认真负责专业,特别是刘老师在线上课讲解pmbok难点考点,还悉心答疑。经过优培东方(原广州慧翔)PMP培训过程,我一次性5A通过了考试,希望更多的人选择优培东方(原广州慧翔),通过有效的过程能提高你的通过几率!

2.来自深圳的王同学:

报读优培东方(原广州慧翔)也是对比了几家之后才报的,讲课老师辅导老师都非常专业,主要是看中优培东方(原广州慧翔)的服务,包括网络课(不同的班还有面授课程)+超级全面的海量题库练习包括单元的综合的重点题的+模拟考试+讲解+考前辅导与评估(这很重要)能够给出专业评价并辅助预估通过可能性……总之很棒,跟上老师节奏都可以轻松通过,不错的培训机构,个人非常认可。

3.来自上海的陈同学:

很早接触项目管理而且工作,但由于公司要求有PMP认证证书才能正式命名为项目经理,后经同事(同事是在优培东方(原广州慧翔)机构顺利拿到PMP证书)介绍,报名参加了优培东方(原广州慧翔)PMP培训。 为了让我们学生能顺利通过PMP考试并获取到证书,刘老师总是不怕辛苦坚持利用每周4-5天晚上时间及安排的面授公开课方式,生动、切合实际地将枯燥乏味项目管理理论结合实际的案例及其生动幽默的方式进行讲解,授予学生学习方法和思路,结合刘老师的教学方式和方法,通过几个月的自身学习,使得顺利通过考试。

4.来自北京的王同学:

优培东方(原广州慧翔)是我工作以后接触的第一个培训机构,2015年的时候由于工作需要,我想报考PMP。但是市场上各种各样的机构太多了,各种评价褒贬不一。但是通过分析之后,我选择了优培东方(原广州慧翔)PMP培训。事实证明,做了调查后作出的选择不会太差,通过接近3个月的准备学习之后,我在第一次PMP考试时就顺利通过了PMP认证,拿到了PMP证书。本以为拿完证书后跟慧翔就算是byebye了,但是更可贵的资源才开始。通过优培东方(原广州慧翔)的学友群,我们定期组织活动,群上跟学友交流,认识了更多的同行朋友,甚至可以说获得了更多的资源资讯。 最后,认真地说如果想学PMP,我推荐优培东方(原广州慧翔)。

在线客服系统