不使用正则的话只能手动拆分,给你一个刚出炉热乎乎的方法。
PS:里面判断没有非常严格,可能有BUG,可以自己修复
public static void main(String[] args) {
String str = "abcdjlfaofaldvaabc adfalekgjabclkjl";
String splitStr = "abc";
String[] testArray = split(str, splitStr);
System.out.println(JSON.toJSONString(testArray));
}
private static String[] split(String originalStr, String splitStr) {
int originalLength = originalStr.length();
int splitLength = splitStr.length();
List targetList = new ArrayList();
if (splitLength > originalLength) {
targetList.add(originalStr);
} else if (splitLength == originalLength) {
if (!originalStr.equals(splitStr)) {
targetList.add(originalStr);
}
} else {
StringBuilder sb = new StringBuilder(originalStr);
String tempStr;
int start = 0;
while (sb.length() > 0) {
tempStr = sb.substring(start, start + splitLength);
if (tempStr.equals(splitStr)) {
targetList.add(sb.substring(0, start));
sb.delete(0, start + splitLength);
start = 0;
} else {
start++;
if (start + splitLength > sb.length()) {
targetList.add(sb.toString());
sb.setLength(0);
}
}
}
}
String[] targetArray = new String[targetList.size()];
for (int i = 0; i < targetList.size(); i++) {
targetArray[i] = targetList.get(i);
}
return targetArray;
}