`

Java中Split函数的用法技巧

 
阅读更多

JavaSplit函数的用法技巧

 

Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项:
java.lang.string.split
split
方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator
[limit]])

stringObj
必选项。要被分解的 String 对象或文字,该对象不会被split方法修改。
separator
可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数(也就是最多分割成几个数组元素,只有为正数时有影响)
split
方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator不作为任何数组元素的部分返回。

 


示例1
String str="Java string split test";
String[] strarray=str.split(" ");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
将输出:
Java
string
split
test

 

 

示例2
String str="Java string split test";
String[] strarray=str.split(" ",2);//
使用limit,最多分割成2个字符串
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
将输出:
Java
string split test

 

 public String[] split(String regex, int limit);  limit 参数控制应用模式的次数,从而影响结果数组的长度。 如果限制 n 大于零,那么模式至多应用 n> - 1 次,数组的长度不大于 n,并且数组的最后条目将包含除最后的匹配定界符之外的所有输入。 如果 n 非正,那么将应用模式的次数不受限制,并且数组可以为任意长度。 如果 n 为零,那么应用模式的次数不受限制,数组可以为任意长度,并且将丢弃尾部空字符串。

 

示例3
String str="192.168.0.1";
String[] strarray=str.split(".");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
结果是什么也没输出,split(".")改为split("\\."),将输出正确结果:
192
168
0
1

经验分享:
1
、分隔符为“.(无输出),|(不能得到正确结果)转义字符时,*,+”时出错抛出异常,都必须在前面加必须得加"\\",split(\\|);
2
、如果用"\"作为分隔,就得写成这样:String.split("\\\\"),因为在Java中是用"\\"来表示"\",字符串得写成这样:String Str="a\\b\\c";
转义字符,必须得加"\\";
3
、如果在一个字符串中有多个分隔符,可以用"|"作为连字符,比如:String str="Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开;

 

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

出来的结果是:

""

2

|

3

3

|

4

奇怪吧,不过注意看一下API说明还是知道原因的.

 

java.lang.string.split 
split
方法 
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 
stringObj.split([separator
[limit]]) 
参数 
stringObj
 
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。 
separator
 
可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。 
limit 
可选项。该值用来限制返回数组中的元素个数。

说明 
split
方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解

 

 

所以正常的写法是这样的:

1、如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
2
、如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");
“.”“|”都是转义字符,必须得加"\\";
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b =2 or c=3”,把三个都分隔出来,可以用String.split("and|or");

 

 

 

 

分享到:
评论

相关推荐

    浅析Java中Split函数的用法技巧

    在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧。以下我就为大家介绍,需要的朋友可以参考下

    java split用法详解及实例代码

    主要介绍了java split用法的相关资料,并附实例代码,帮助大家学习参考,需要的朋友可以参考下

    python中的split()函数和os.path.split()函数使用详解

    今天小编就为大家分享一篇python中的split()函数和os.path.split()函数使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    JavaScript几个函数 - split()、join()、substring()和indexOf()

    JavaScript几个函数 - split()、join()、substring()和indexOf()的用法!

    Java字符串逗号分割实现.pptx.pptx

    Java中有多种将字符串转换为列表的方法,其中最常用的是使用split()函数和Java8的Stream API。 split()函数的使用 split()函数可以将字符串按照指定的分隔符进行分割,返回一个字符串数组,我们可以通过Arrays....

    AIC的Java课程1-6章

    第3版 机械工业出版社  教学内容和要求 知识点 重要程度 使用频度 难度 Java 入门 高 中 易 变量和运算符 高 高 中 控制结构 高 高 易 数组 高 高 中 方法 很高 高 中 封装 很高 很高 难...

    Java Bug模式详解

    Java.Bug模式详解 第1章 混乱环境下的灵活方法 1.1 软件设计、实现和维护的趋势 1.1.1 对于稳定、安全 系统的需求增加 1.1.2 传统软件工程技 术的局限性 1.1.3 开放源代码的软 件项目的可利用性 1.1.4 对于...

    javascript中不易分清的slice,splice和split三个函数

    每每见到这三个函数,我都会很懵,一定要到网上搜搜;今天,恰巧又见到了它们,所以想必是时候为它们做个笔记啦 1.slice(数组) 用法:array.slice(start,end) 解释:该方法是对数组进行部分截取,并返回一个数组...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    Java-PHP-C#

    在表达式中如果含有分隔符,那么就需要使用转义符号"\",比如"/hello.+?\/hello/is"。转义符号除了用于分隔符外还可以执行特殊字符,全部由字母构成的特殊字符都需要"\"来转义,比如"\d"代表全体数字。 4 正则...

    javascript中sort()的用法实例分析

    这里还用到了split函数,目的是去到一个字符串的数组,比较常用。然后通过数组的排序函数sort()对数组内的值进行排序,得到新的数组,然后通过循环输出数组的内容就得到了排序后的字符串。 在例子中,默认情况下,它...

    将DataTable作为存储过程参数的用法实例详解

    最近工作中写了几个存储过程,需要向存储过程中传递字符串,因为SQL Server 2000中没有内置类似于 split 的函数,只好自己处理,将前台数据集中的一列用逗号拆分存到一个List中,再转化为字符串传给存储过程,很是...

    精通正则表达式~~~

    在内嵌代码结构中使用local函数... 335 关于内嵌代码和my变量的忠告... 338 使用内嵌代码匹配嵌套结构... 340 正则文字重载... 341 正则文字重载的问题... 344 模拟命名捕获... 344 效率... 347 办法不只一...

    重构-改善既有代码的设计 中文版

    10.12 Replace Co tructor with Factory Method(以工厂方法取代构造函数) 10.13 Encapsulate Downcast(封装「向下转型」动作) 10.14 Replace Error Code with Exception(以异常取代错误码) 10.15 Replace ...

    Python核心编程第二版(ok)

     6.17.2 元组类型操作符和内建函数.c内建方法   6.18 元组的特殊特性   6.18.1 不可变性给元组带来了什么影响   6.18.2 元组也不是那么“不可变”   6.18.3 默认集合类型   6.18.4 单元素元组   ...

    Python核心编程第二版

     6.17.2 元组类型操作符和内建函数、内建方法   6.18 元组的特殊特性   6.18.1 不可变性给元组带来了什么影响   6.18.2 元组也不是那么“不可变”   6.18.3 默认集合类型   6.18.4 单元素元组   ...

    PHP3程序设计

    9.3.8 preg_split函数 143 9.3.9 模式举例 143 9.3.10 匹配举例 144 9.3.11 替换举例 148 9.3.12 分割举例 150 9.4 MySQL …151 9.4.1 LIKE 151 9.4.2 RLIKE 152 9.5 总结 152 第10章 面向对象 154 10.1 了解类的...

Global site tag (gtag.js) - Google Analytics