/**
* 分割字符串
* @param str String 被分割字符串
* @param seperator String 分割符
* @return String[] 返回字符串数组
*/
public static String[] split2Array(String str, String seperator) {
//如果分割符是"",直接把字符串单个分割,返回
if (seperator.equals("")) {
if (str.length() == 0) {
return new String[]{str};
}
String[] result = new String[str.length()];
for (int i = 0; i < result.length; i++) {
result[i] = "" + str.charAt(i);
}
return result;
}
//虽然不够美 不过用§,ê,б 应该不至于三个同时出现吧
if(str.indexOf("§")==-1){
str = str.replaceAll(seperator, "§");
seperator = "§";
}else if(str.indexOf("ê")==-1){
str = str.replaceAll(seperator, "ê");
seperator = "ê";
}else if(str.indexOf("б")==-1){
str = str.replaceAll(seperator, "б");
seperator = "б";
}
//下面则是为是用这种笨方法把字符分割后返回
int sum = 0;
int p = 0;
for (int i = 0; i < str.length(); i++) {
if (str.indexOf(seperator, p) != -1) {
p = str.indexOf(seperator, p) + 1;
sum = sum + 1;
}
}
if (sum <= 0) {
return new String[]{str};
}
String[] result = new String[sum + 1];
p = 0;
int e = 0;
for (int i = 0; i < result.length; i++) {
e = str.indexOf(seperator, p);
if (e == -1) {
e = str.length();
}
result[i] = str.substring(p, e).trim();
p = str.indexOf(seperator, p) + 1;
}
return result;
}
例: String[] ts = split2Array("1#2#3","#");
就可用 String[] ts = split2Array("1##2##3","##");
这只是为了工作需要而写的一个方法,现在都很少人用JDK1.3了
2010-04-02
本文介绍了一种自定义的字符串分割方法,该方法适用于特定的Java版本(如JDK1.3),能够处理包括空字符串在内的各种情况,并通过替换原始分隔符来避免分割符本身被包含在结果中。
252

被折叠的 条评论
为什么被折叠?



