Java学习笔记(二十六):String.split()的使用
来源:互联网 发布:iphonex专用软件 编辑:程序博客网 时间:2024/05/01 20:30
转自: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密切相关,常见的几种情况如下所示:
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,分割后的结果为: “”
由此可以得出来:
- 当字符串只包含分隔符时,返回数组没有元素;
- 当字符串不包含分隔符时,返回数组只包含一个元素(该字符串本身);
- 字符串最尾部出现的分隔符可以看成不存在,不影响字符串的分隔;
- 字符串最前端出现的分隔符将分隔出一个空字符串以及剩下的部分的正常分隔;
0 0
- Java学习笔记(二十六):String.split()的使用
- java学习笔记(二十六)多态性
- 学习笔记(二十六)
- java String.split()方法学习笔记
- java学习笔记(二十六)java中的io流
- JAVA学习笔记(二十六) - 文件操作
- php学习笔记(二十六)php中session的初步使用(基于cookie的)
- Java学习笔记(二十六):字符串连接用+和StringBuilder的append的区别
- java学习笔记(十六)
- Java学习笔记(十六)
- Java学习笔记(十六)
- Java学习笔记(十六)
- java学习笔记(十六)
- C#回顾学习笔记二十六:String与StringBuilder的区别
- opencv学习笔记(二十六)直方图有关的操作
- Java String类的split方法使用
- Java String类的split方法使用
- Java String.split()特殊字符的使用
- Ajax中的eval函数的用法
- oracle 修改默认日期格式
- Web 前端学习笔记之 HTML 入门(3)
- 2016.12.29回顾
- 东周列国 演绎版 mp3
- Java学习笔记(二十六):String.split()的使用
- ZCMU-1140-松哥
- Caffe installation on ubuntu16.04 sever
- 开通博客
- shell 1>&2 2>&1 &>filename重定向的含义和区别
- Count and Say
- 前端开发的模块化和组件化的定义,以及两者的关系?
- devexpress 破解版消除运行弹窗
- JQuery实现搜索关键词变红,包含关键词的div显示,无div的隐藏