/** * 分割字符串 * @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