我需要能够编写自己的拆分字符串方法,以便输入
String[] test1 = mySplit("ab#cd#efg#", "#");
System.out.println(Arrays.toString(test1));
将打印[ab, #, cd, #, efg, #]
到控制台。到目前为止,我已经将其拆分为这样,但我的方式留下了尴尬的空间,其中 2 个分隔符连续排列,或者分隔符位于输入的开头。
public static String[] mySplit(String str, String regex)
{
String[] storeSplit = new String[str.length()];
char compare1, compare2;
int counter = 0;
//Initializes all the string[] values to "" so when the string
//and char concatonates, 'null' doesn't appear.
for(int i=0; i<str.length(); i++) {
storeSplit[i] = "";
}
//Puts the str values into the split array and concatonates until
//a delimiter is found, then it moves to the next array index.
for(int i=0; i<str.length(); i++) {
compare1 = str.charAt(i);
compare2 = regex.charAt(0);
if(!(compare1 == compare2)) {
storeSplit[counter] += ""+str.charAt(i);
} else {
counter++;
storeSplit[counter] = ""+str.charAt(i);
counter++;
}
}
return storeSplit;
}
当我在我的测试主程序中使用该方法时,我得到输出 [ab, #, cd, #, efg, #, , , , ]。所以我不知道如何修复它的间距,我还需要能够允许我的代码目前无法处理的多个分隔符。
另外我知道这段代码现在真的很草率,只是想在优化之前放下概念。