转自:http://swiftlet.net/archives/709

一、在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密切相关,常见的几种情况如下所示:

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]java String.split()函数的用法分析的更多相关文章

  1. java String.split()函数的用法分析

    java String.split()函数的用法分析 栏目:Java基础 作者:admin 日期:2015-04-06 评论:0 点击: 3,195 次 在java.lang包中有String.spl ...

  2. 【转】java String.split()函数的用法分析

      在java.lang包中有String.split()方法的原型是: public String[] split(String regex, int limit) split函数是用于使用特定的切 ...

  3. Java中的split函数的用法

    Java中的 split  函数是用于按指定字符(串)或正则去分割某个字符串,结果以字符串数组形式返回: 例如: String str="1234@abc"; String[] a ...

  4. Java 的 String.split 函数,消除空字符串

    代码: String str = "the music made it hard to concentrate"; String delims = "[ ]+" ...

  5. Linux里AWK中split函数的用法

    跟java里的split函数的用法是很相像的,举例如下: The awk function split(s,a,sep) splits a string s into an awk array a u ...

  6. Java——String.split()函数

    在java doc里有 String[] java.lang.String.split(String regex) Splits this string around matches of the g ...

  7. Java中Split函数的用法技巧

    在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧.如执行:"2|33|4".split(&quo ...

  8. 正则化—Java中Split函数的用法技巧_(转载修改)

    原文地址:http://www.cnblogs.com/liubiqu/archive/2008/08/14/1267867.html java.lang.string.split split 方法  ...

  9. java中string.trim()函数的使用

    java中string.trim()函数的的作用是去掉字符串开头和结尾的空格,防止不必要的空格导致的错误. public static void main(String arg[]){ String ...

随机推荐

  1. 结合Ajax做地区内容切换!(城市切换)

    实现原理:点击,进行异步保存Cookie , 根据保存的Cookie来切换城市内容: 简单HTML示例: <!doctype html> <html> <head> ...

  2. Linux配置Nginx,MySql,php-fpm开机启动的方法

    一. Nginx 开机启动 1.在/etc/init.d/目录下创建脚本 vim /etc/init.d/nginx 2.编写脚本内容 (将以下复制进去相应改动安装路径) 1 2 3 4 5 6 7 ...

  3. postgresql----数据库表约束----UNIQUE

    四.UNIQUE ---- 唯一约束 唯一键可以是单个字段,也可以是多个字段的组合,设置唯一约束后,INSERT或UPDATE时如果表中唯一键字段中已存在该数据,则拒绝该行数据的INSERT或UPDA ...

  4. 虚拟机中CentoOs配置ip且连网

    1.修改"VMware Network Adapter VMnet8",配置IP 2.打开虚拟机,"编辑" => "虚拟网络编辑器", ...

  5. collision weaknesses

    15.1. hashlib — Secure hashes and message digests — Python 3.5.6 documentation https://docs.python.o ...

  6. 获取access_token示例代码

    文档中心--百度AI-百度AI开放平台 http://ai.baidu.com/docs#/NLP-API/top #include <iostream> #include <cur ...

  7. zabbix debug and vulnerability https://www.zabbix.com/documentation/3.0/manual/concepts/sender

    https://www.zabbix.com/documentation/3.0/manual/concepts/sender zabbix--- zabbix_sender -vv -z 172.2 ...

  8. Web开发:URL编码与解码(转)

    原文:http://www.cnblogs.com/greatverve/archive/2011/12/12/URL-Encoding-Decoding.html 通常如果一样东西需要编码,说明这样 ...

  9. Nginx 403 forbidden原因及故障模拟重现(转载)

    这篇文章是转载过来的一篇文章,觉得不错,因此做个记录. 访问Nginx出现状态码为403 forbidden原因及故障模拟 1) nginx配置文件里不配置默认首页参数或者首页文件在站点目录下没有 i ...

  10. 【转】Deep Learning(深度学习)学习笔记整理系列之(八)

    十.总结与展望 1)Deep learning总结 深度学习是关于自动学习要建模的数据的潜在(隐含)分布的多层(复杂)表达的算法.换句话来说,深度学习算法自动的提取分类需要的低层次或者高层次特征. 高 ...