0
所以我試圖擺脫除了-.I之外的標點符號,我試圖從字符串中使用.match(),如果它是假的,刪除整個字符串。我試過除了 - 正則表達式找到標點符號
public static void removeWords(String [] array){
int i;
boolean isWords;
for(i = 0; i < array.length;i++){
isWords = checkWord(array[i]);
if (isWords == false)
array[i] = "";
}
}
public static boolean checkWord(String word){
if (word.matches("[a-zA-Z[\\-]]")){
return true;
}
else
return false;
}
但它不會識別 - 。
編輯: 所以「he789llo」應該被刪除,但「他-LLO」不應該be.but這兩個詞都被該代碼刪除
告訴我們您所使用的輸入,與預期結果一起,而你現在得到什麼結果。這會更容易看出你做錯了什麼。 – Gosu
你不需要[ - ],但你可以用'\ -' –
來逃避它請完整的代碼。 '[a-zA-Z [ - ]]'匹配1個字符,即'a-z'或'A-Z'或'-'。 Niote在Java中不使用方括號內的字符類。也許,你正在尋找'+'量詞來匹配一個或多個字符。 –