Java学习笔记(二十六):String.split()的使用
2016-12-30 09:19
302 查看
转自:http://swiftlet.net/archives/709
在java.lang包中有String.split()方法的原型是:
public String[] split(String regex, int limit)
split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组。在其中每个出现regex的位置都要进行分解。
需要注意是有以下几点:
regex是可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit也是可选项。该值用来限制返回数组中的元素个数。
要注意转义字符:“.”和“|”都是转义字符,必须得加”\”。同理:*和+也是如此的。
如果用“.”作为分隔的话,必须是如下写法:
String.split(“\.”),这样才能正确的分隔开,不能用String.split(“.”);
如果用“|”作为分隔的话,必须是如下写法:
String.split(“\|”),这样才能正确的分隔开,不能用String.split(“|”);
如果在一个字符串中有多个分隔符:
可以用“|”作为连字符,比如:“acountId=? and act_id =? or extra=?”,把三个都分隔出来,可以用
String.split(“and|or”);
split函数结果与regex密切相关,常见的几种情况如下所示:
运行结果为:
“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,分割后的结果为: “”
由此可以得出来:
当字符串只包含分隔符时,返回数组没有元素;
当字符串不包含分隔符时,返回数组只包含一个元素(该字符串本身);
字符串最尾部出现的分隔符可以看成不存在,不影响字符串的分隔;
字符串最前端出现的分隔符将分隔出一个空字符串以及剩下的部分的正常分隔;
在java.lang包中有String.split()方法的原型是:
public String[] split(String regex, int limit)
split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组。在其中每个出现regex的位置都要进行分解。
需要注意是有以下几点:
regex是可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit也是可选项。该值用来限制返回数组中的元素个数。
要注意转义字符:“.”和“|”都是转义字符,必须得加”\”。同理:*和+也是如此的。
如果用“.”作为分隔的话,必须是如下写法:
String.split(“\.”),这样才能正确的分隔开,不能用String.split(“.”);
如果用“|”作为分隔的话,必须是如下写法:
String.split(“\|”),这样才能正确的分隔开,不能用String.split(“|”);
如果在一个字符串中有多个分隔符:
可以用“|”作为连字符,比如:“acountId=? and act_id =? or extra=?”,把三个都分隔出来,可以用
String.split(“and|or”);
split函数结果与regex密切相关,常见的几种情况如下所示:
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(); } }
运行结果为:
“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,分割后的结果为: “”
由此可以得出来:
当字符串只包含分隔符时,返回数组没有元素;
当字符串不包含分隔符时,返回数组只包含一个元素(该字符串本身);
字符串最尾部出现的分隔符可以看成不存在,不影响字符串的分隔;
字符串最前端出现的分隔符将分隔出一个空字符串以及剩下的部分的正常分隔;
相关文章推荐
- 【Java 学习笔记】 String.split使用心得
- Java学习笔记2:Java中Integer与String == 的使用
- 【Java学习笔记】使用split()方法分割字符串
- 菜鸟学习笔记:java中使用Integer.getInteger(String)有java.lang.NullPointerException
- JAVA学习提高之---- String.split(String,int)使用
- java String.split()方法学习笔记
- Java基础学习笔记(二)常用类String
- java中string对象中的split方法的使用
- [Java Path Finder][JPF学习笔记][3]使用jpf-shell
- java使用String.split方法时遇到的问题(转载)
- [Java Path Finder][JPF学习笔记][8]几篇使用JPF的论文
- eclipse的几个使用技巧(我的java学习笔记)
- WPF and Silverlight 学习笔记(二十六):基本图形使用(1)
- (JAVA SE 学习笔记)Java.SE.第003讲.原生数据类型使用陷阱.Pitfall.of.Primitive.Data.Type
- [Java Path Finder][JPF学习笔记][8]几篇使用JPF的论文
- selenium学习笔记- selnium.RunScript(string script) 方法的使用 及有关自动化测试文本编辑器未解决的问题
- java-使用keytool来创建管理密钥及证书等-java学习笔记(3)
- java学习笔记-lable的使用
- Java学习笔记---9.面向对象编程04-this关键字的使用
- 在JAVA中, 在使用String.split方法时要注意的一些特殊分隔字符串