道招

转载java String.split()函数的用法详解

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

转载java String.split()函数的用法详解

在java.lang包中有String.split()方法的原型是: public String[] split(String regex, int limit) split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组。在其中每个出现regex的位置都要进行分解。 需要注意是有以下几点: (1)regex是可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。 (2)limit也是可选项。该值用来限制返回数组中的元素个数。 (3)要注意转义字符:“.”和“|”都是转义字符,必须得加"\\"。同理:*和+也是如此的。 如果用“.”作为分隔的话,必须是如下写法: String.split("\\."),这样才能正确的分隔开,不能用String.split("."); 如果用“|”作为分隔的话,必须是如下写法: String.split("\\|"),这样才能正确的分隔开,不能用String.split("|"); (4)如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acountId=? and act_id =? or extra=?”,把三个都分隔出来,可以用 String.split("and|or"); (5)split函数结果与regex密切相关,常见的几种情况如下所示: [code lang="java"] public class SplitTest { public static void main(String[] args) { String str1 = "a-b"; String str2 = "a-b-"; String str3 = "-a-b"; String str4 = "-a-b-"; String str5 = "a"; String str6 = "-"; String str7 = "--"; String str8 = ""; split(str1); split(str2); split(str3); split(str4); split(str5); split(str6); split(str7); split(str8); } public static void split(String demo){ String[] array = demo.split("-"); int len = array.length; System.out.print("\"" + demo + "\" 分割后的长度为:" + len); if(len >= 0) { System.out.print(",分割后的结果为:"); for(int i=0; i<len; i++) { System.out.print(" \""+array[i]+"\""); } } System.out.println(); } } [/code] 运行结果为: "a-b" 分割后的长度为:2,分割后的结果为: "a" "b" "a-b-" 分割后的长度为:2,分割后的结果为: "a" "b" "-a-b" 分割后的长度为:3,分割后的结果为: "" "a" "b" "-a-b-" 分割后的长度为:3,分割后的结果为: "" "a" "b" "a" 分割后的长度为:1,分割后的结果为: "a" "-" 分割后的长度为:0,分割后的结果为: "--" 分割后的长度为:0,分割后的结果为: "" 分割后的长度为:1,分割后的结果为: "" 由此可以得出来: 当字符串只包含分隔符时,返回数组没有元素; 当字符串不包含分隔符时,返回数组只包含一个元素(该字符串本身); 字符串最尾部出现的分隔符可以看成不存在,不影响字符串的分隔; 字符串最前端出现的分隔符将分隔出一个空字符串以及剩下的部分的正常分隔;
转载原文点此进入
更新时间:
上一篇:如何在不用密码的情况下删除360企业版(360天擎)下一篇:Angularjs的双向绑定

相关文章

Java语言中的String和byte[]的相互转化

有些东西很基础,但是得理解透彻才行。 String s = "shadowprompt";//String变量 byte b[] = s.getBytes();//String转换为byte 阅读更多…

Javascript原生函数作为构造函数

关于数组(array)、对象(object)、函数(function)和正则表达式,我们通常喜欢以常量的形式来创建它们。实际上,使用常量和使用构造函数的效果是一样的(创建的值都是通过封装对象来包装)。 阅读更多…

java中int、string相互转换

int -> String int i=12345; String s=""; 第一种方法:s=i+""; 第二种方法:s=String.valueOf(i); 这两种方法有什么区别呢?作用 阅读更多…

关注道招网公众帐号
友情链接
消息推送
道招网关注互联网,分享IT资讯,前沿科技、编程技术,是否允许文章更新后推送通知消息。
允许
不用了