在java.lang包中也有String.split()方法,与.net的相似,都是返回是一个字符型数组,但使用过程当中还有一些小技巧。
如执行:"2|33|4".split("|") java
出来的结果是: 正则表达式
"" 数组
2 spa
| .net
3 对象
3 字符串
| string
4 it
奇怪吧,不过注意看一下API说明仍是知道缘由的. 技巧
java.lang.string.split
split 方法
将一个字符串分割为子字符串,而后将结果做为字符串数组返回。
stringObj.split([separator,[limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式对象,它标识了分隔字符串时使用的是一个仍是多个字符。若是忽略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数。
说明
split 方法的结果是一个字符串数组,在 stingObj 中每一个出现 separator 的位置都要进行分解
因此正常的写法是这样的:
一、若是用“.”做为分隔的话,必须是以下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
二、若是用“|”做为分隔的话,必须是以下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\\"; 三、若是在一个字符串中有多个分隔符,能够用“|”做为连字符,好比:“a=1 and b =2 or c=3”,把三个都分隔出来,能够用String.split("and|or");