转载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

{

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,分割后的结果为: ""

由此可以得出来:

当字符串只包含分隔符时,返回数组没有元素;

当字符串不包含分隔符时,返回数组只包含一个元素(该字符串本身);

字符串最尾部出现的分隔符可以看成不存在,不影响字符串的分隔;

字符串最前端出现的分隔符将分隔出一个空字符串以及剩下的部分的正常分隔;

转载原文点此进入

java string()函数_转载java String.split()函数的用法详解相关推荐

  1. java设计模式观察者模式吗_Java设计模式之观察者模式原理与用法详解

    Java设计模式之观察者模式原理与用法详解 本文实例讲述了Java设计模式之观察者模式原理与用法.分享给大家供大家参考,具体如下: 什么是观察者模式 可以这么理解: 观察者模式定义了一种一对多的依赖关 ...

  2. java 生成dump_java dump文件怎么生成和分析-JMAP用法详解

    jmap是java自带的工具 1. 查看整个JVM内存状态 jmap -heap [pid] 2. 查看JVM堆中对象详细占用情况 jmap -histo [pid] 3. 导出整个JVM 中内存信息 ...

  3. java写mapstate算子,vuex state及mapState的基础用法详解

    vuex state及mapState的基础用法详解 2019-01-07 编程之家收集整理的这篇文章主要介绍了vuex state及mapState的基础用法详解,编程之家小编觉得挺不错的,现在分享 ...

  4. C语言getline函数CSDN,c++中的两种getline用法详解

    getline是C++标准库函数:但不是C标准库函数,而是POSIX(IEEE Std 1003.1-2008版本及以上)所定义的标准库函数(在POSIX IEEE Std 1003.1-2008标准 ...

  5. java中截取部分字符串_JAVA中截取字符串substring用法详解

    substring public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串.该子字符串始于指定索引处的字符,一直到此字符串末尾. ...

  6. python二维图颜色函数_通过python改变图片特定区域的颜色详解

    通过python改变图片特定区域的颜色详解 首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的 ...

  7. java中的dispose函数_[转载]java中的dispose()方法

    这是我第100篇IT技术文章,也正好让我实现了一个完整的从客户端输入参数,使用遗传算法计算生产排程的实例,前端由客户输入种群大小,遗传代数,交叉概率,变异概率,零件数,机器数,时间矩阵,机器矩阵,经运 ...

  8. java求约数_[转载]Java求最大公约数与最小公倍数

    (看到一份不错的总结,拿来收着) 如果数a能被数b整除,a就叫做b的倍数,b就叫做作a的约数.约数和倍数都表示一个数与另一个数的关系,不能单独存在.如只能说16是某数的倍数,2是某数的约数,而不能孤立 ...

  9. java生成水印_[转载]java操作word生成水印

    应用场景 为了保护版权或辨别文件的真伪,有时需要在生成的Word文件中动态添加水印,PageOffice组件的WaterMark类就封装了给在线编辑的Word文件添加水印这一功能,调用接口非常简单. ...

最新文章

  1. 工业相机帧率与曝光时间的关系
  2. 几个表示“光”的概念
  3. 北大教授:学术会议与学术研讨渐行渐远,已沦为学术表演~
  4. Oracle 11g dataguard主库坏块修复
  5. LVS技术浅析-proc参数
  6. BSEG和BSIS、BSAS、BSID、BSAD、BSIK、BSAK六个表的关系
  7. Yahoo! 的数据仓库: 世界上最大最忙
  8. 汇编实现大写转小写函数(to_lower)
  9. 最新的INTEL FPGA时序分析资料
  10. 浅谈auto与decltype函数的区别
  11. MyBatis整合Spring原理分析
  12. jquery系列教程6-ajax的应用全解
  13. javascript 实现简单计算器
  14. wmic命令行工具介绍
  15. php观察者模式,组合ArmyVisitor抽象类,用accept()方法将访问者对象传递给当前对象的所有的子元素,当前组件是一个组合体
  16. linux steam root,使用Lutris在Linux上安装Windows Steam
  17. python的pth打开方式_python .pth 文件 和 site 模块
  18. 7.2影像云阅片【斯纳克PACS医学影像云平台用户手册】
  19. 开发人员为何应该使用苹果电脑,兼Mac OS X
  20. 博士毕业去县城工作,如何是你,怎么选?

热门文章

  1. Windows PowerShell下基础操作
  2. php foreach方法,forEach方法怎么使用
  3. t184卡西欧计算机玩游戏,中学回忆——卡西欧 FX-82ES 科学计算器 晒物
  4. matlab中读文件的行数_Matlab中读取txt文件的几种方法
  5. python中字符串运算符及用法_python将字符串转换为运算符
  6. Linux磁盘格式化和挂载
  7. 后台数据到mysql怎样保持实时更新_京东智联云MySQL数据库如何保障数据的可靠性?...
  8. dede服务器建站_建站就是这么简单(内容系统管理CMS篇)
  9. c语言中gets函数可以输入空格吗_C语言中scanf()与gets()函数的区别,哪一个可以读入空格啊?...
  10. hibernate 无法保存timestamp_为什么很多人不愿意用hibernate了?