在Java中,我們經(jīng)常需要對字符串進(jìn)行過濾,特別是英文及符號。以下是一個使用正則表達(dá)式過濾英文及符號的例子:
String str = "Hello! What's up?"; String result = str.replaceAll("[^a-zA-Z0-9\\s]", ""); System.out.println(result); // 輸出:Hello Whats up
上述代碼使用replaceAll方法,將字符串中非字母、數(shù)字和空格的字符替換為空字符串,從而過濾字符串中的英文和符號。其中,^表示非,[]表示字符集合,\\s表示空格。
除了使用正則表達(dá)式,我們還可以使用Java內(nèi)置方法過濾字符串中的英文和符號。以下是一個例子:
String str = "Hello! What's up?"; String result = ""; for (int i = 0; i< str.length(); i++) { char c = str.charAt(i); if ((c >= 'a' && c<= 'z') || (c >= 'A' && c<= 'Z') || (c >= '0' && c<= '9') || (c == ' ')) { result += c; } } System.out.println(result); // 輸出:Hello Whats up
上述代碼使用for循環(huán)遍歷字符串中的每一個字符,并使用if語句判斷字符是否屬于字母、數(shù)字和空格。如果符合要求,則將字符添加到結(jié)果字符串中。注意字符串的拼接應(yīng)該使用StringBuilder或StringBuffer類,而不是直接使用字符串相加。