在java.lang包中有String.split()方法的原型是:
public String[] split(String regex, int limit)
split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,函数返回是一个数组。在其中每个出现regex的位置都要进行分解。
需要注意是有以下几点:
(1)regex是可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
(2)limit也是可选项。该值用来限制返回数组中的元素个数。
(3)要注意转义字符:“.”和“|”都是转义字符,必须得加"\\"。同理:*和+也是如此的。

注意:java中"\"需要用"\\"来表示, 而split中传入的参数不是普通的字符串 ,通过查api文档 ,它要求传入的是正则表达式 而正则表达式也需要这个“\”所以在这里有这个“\\”

因为输入的是正则式,所以需要一个转义"\",然后"\"本身又需要“\\”来转义。

如果用“.”作为分隔的话,必须是如下写法:
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 String.split()函数的用法分析的更多相关文章

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

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

  2. [java]java String.split()函数的用法分析

    转自:http://swiftlet.net/archives/709 一.在java.lang包中有String.split()方法的原型是: public String[] split(Strin ...

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

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

  4. Java String.split()函数分隔回车注意事项

    作者:Sun1956 原文:https://blog.csdn.net/sun1956/article/details/45096117 --------------------- 我们在Java中如 ...

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

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

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

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

  7. Java String.split()的特殊用法

    1 //用多种字符分隔字符串 2 public class Main { 3 /* 4 * "(1,2),(2,4),(3,6),(4,7)"按[(),]分隔 5 * 空白(1,2 ...

  8. String.Split()函数

    我们在上次学习到了 String.Join函数(http://blog.csdn.net/zhvsby/archive/2008/11/28/3404704.aspx),当中用到了String.SPl ...

  9. String.Split()函数 多种使用实例

    我们在上次学习到了 String.Join函数(http://blog.csdn.net/zhvsby/archive/2008/11/28/3404704.aspx),其中用到了String.SPl ...

随机推荐

  1. JDBC - Mysql 8.0.13 连接测试

    因为换新的电脑设备,为其安装一些开发需要的应用及环境,下载了新版的Mysql8.0.13,在Eclipse中测试连接时遇到一些新的问题,遂记录. 1. Mysql 5.*  版本JDBC连接 a. 常 ...

  2. 小白的CTF学习之路1——程序与CPU

    刚刚注册了这个博客园,尽量保持每日一更(*/ω\*) 今天看了po学院的教学视频,了解了程序是什么,如何在CPU当中工作的等各种之前未曾想过的问题,特此记录,以防忘记 首先我们学习程序与CPU之前需要 ...

  3. python 更换 版本

    这是一个悲伤的安装ipython的过程. 写下来留个教训吧. 也是希望对博友一些帮助吧. 注: 我也写了一篇window下安装bpython的文章(个人感觉bpython要比ipython强大的多), ...

  4. ABP框架系列之五十一:(Timing-定时)

    Introduction While some applications target a single timezone, some others target to many different ...

  5. python模块:time

    # encoding: utf-8 # module time # from (built-in) # by generator 1.145 """ This modul ...

  6. 大数据 Spark 架构

    一.Spark的产生背景起源 1.spark特点 1.1轻量级快速处理 Saprk允许传统的hadoop集群中的应用程序在内存中已100倍的速度运行即使在磁盘上也比传统的hadoop快10倍,Spar ...

  7. C#中Equals()和= =(等于号)区别

    在这里,首先得告诉大家,在C#中,不管是 == ,还是 Equals() 我们都是可以重写的.所以,在具体选择使用两者时,还是得根据这两个方法的具体实现逻辑来选择. 值类型的比较 对于值类型来说,两者 ...

  8. HTML <frameset>

    好久不用 <frameset>确实有点手生了,直接上代码看效果吧,简单易懂 <!DOCTYPE html> <html> <head> <meta ...

  9. 仿B站项目——(2)环境配置,文件目录

    环境配置 主要参考入门Webpack,看这篇就够了,webpack入门和webpack实用配置. 实用开发环境 利用下面的webpack.json和webpack.config.js可以搭建一个使用e ...

  10. java后端导入excel模板和导入excel文件去读数据

    模板转载地址:https://www.cnblogs.com/zhangyangtao/p/9802948.html 直接上代码(我是基于ssm写的demo,导入文件目前只能读取.xls后缀的exce ...