JAVA 字符串分割split 的用法注意

对字符串"mysql.ip"进行分割,并取得首字

首先想到使用split通过"."进行分割,返回字符串数组,再 获取数组的第一个元素

因此代码执行

String s=new String("mysql.ip");
String a[] = s.split(".");
System.out.println(a[0]);
执行后,系统抱错提示数组越界,跟踪后发现s.split生成的数组长度是0

查阅相关内容后发现split用法的如下特点

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");
转载内容

http://www.cnblogs.com/liubiqu/archive/2008/08/14/1267867.html

你可能感兴趣的:(Java)