我需要能夠寫我自己的分割字符串的方法讓喜歡Java中,寫我自己分割字符串的方法
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,#,,,,。所以我失去了如何修復它的所有空間,我還需要能夠允許我的代碼目前無法處理的多個分隔符。
另外我知道這段代碼現在真的很sl,,只是試圖在優化之前放下概念。
我認爲這是一個學校任務或項目,對不對?因爲這在現實世界中完全沒有意義。 – SevenBits
是的,它的任務。我知道在現實世界中,split()方法不僅僅是有能力的......只是跳過籃球。 – Exception
當你說你「失去了間距」時,你是什麼意思?什麼間隔?你看到的問題可能是由於你的println()語句而不是你的函數嗎? – SevenBits