概率愚蠢的問題,但這裏有雲:忽略任何非字母字符和大寫字母從字符串
我期待忽略字符串的任何非字母字符,也大寫字母。
if (names[j].matches("[a-zA-Z]+")){
System.out.println(names[j] + ":");
}
我有類似的東西,以測試是否有被賦予了非字母字符和它的作品,只是不知道如何將它們忽略這樣。
任何建議都會很棒。謝謝。
概率愚蠢的問題,但這裏有雲:忽略任何非字母字符和大寫字母從字符串
我期待忽略字符串的任何非字母字符,也大寫字母。
if (names[j].matches("[a-zA-Z]+")){
System.out.println(names[j] + ":");
}
我有類似的東西,以測試是否有被賦予了非字母字符和它的作品,只是不知道如何將它們忽略這樣。
任何建議都會很棒。謝謝。
Exapnding上@Jeff樓層的回答是:
你做一個用空字符串 更換正則表達式[^a-zA-Z]+
如果你真的不想忽略上面的情況
將轉換爲更換後字符串轉換成小寫
public static void main(String[] args) throws Exception {
String hello = "[email protected]";
hello = hello.replaceAll("[^a-zA-Z]+","").toLowerCase();
System.out.println(hello);
}
將輸出:
natalie
如果你想忽略的第一個字符,無論它是什麼,那麼你可以使用:
String hello = "[email protected]";
String ignoreFirstChar = hello.charAt(0) + (hello.substring(1,hello.length()).replaceAll("[^a-zA-Z]+", "").toLowerCase());
System.out.println(ignoreFirstChar);
將輸出:
Natalie
謝謝你,我曾經認爲這是最好的選擇,但想要仔細檢查。爲愚蠢的問題道歉:) –
@NatalieCarr沒問題! :D – gtgaxiola
對不起,快速的問題,有沒有辦法跳過第一個字符?所以只有在第一個字符之後進行替換,而不管它是否需要替換? –
如果您想忽略它們並將它們去掉,只需使用正則表達式來匹配它們,並用空字符串替換它們即可。 String#replaceAll可以採取正則表達式。
你是什麼意思忽略不?把他們從字符串中取出,或者如果他們在場,不要去做? – gtgaxiola
我的意思是,如果NAtalie7 @被輸入,那麼natalie會被考慮?我認爲把它們拿出來,把字符串改爲全部小寫字母將是最好的方法,但是想知道是否有可能在不移除的情況下忽略它們。上面的代碼是一個快速測試,以檢查輸入是否不是所有字母。 –