jdk 自带的split切割方法效率比较低,当需要切割的次数过多时就需要对其进行一些必要的优化,优化后的方法如下所述。
/**
* 切割方法
* @param delimiter 分割符
* @param str 要分隔的字符串
* @return arr 每行数据分割后的数组集合
*/
public static String[] splitStr(String delimiter, String str, String[] arr) {
if (!str.endsWith(delimiter)) {
str += delimiter;
}
int index = 0, offset = 0, arrIndex = 0;
int splitLen = delimiter.length();
while ((index = str.indexOf(delimiter, offset)) != -1) {
arr[arrIndex] = str.substring(offset, index);
offset = index + splitLen;
arrIndex++;
}
return arr;
}