在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");