如果我有一個字符串"ja.v_,a"
,如何刪除所有非字母字符以輸出"java"
?我試過str = str.replaceAll("\\W", "")
,但無濟於事。刪除字符串中的所有字符但字母
回答
String s = "ja.v_,a";
s = s.replaceAll("[^a-z]", "");
System.out.println(s);
>java
我想指的this article和帖吧:
正則表達式的例子和教程總是給你的[A-ZA-Z0-9] +正則表達式來 「驗證字母數字輸入」。它內置在許多驗證框架中。這是完全錯誤的。這是一個正則表達式,絕對不能出現在你的代碼中的任何地方,除非你有一個非常好的解釋。然而,這個例子無處不在。相反,正確的正則表達式是[\ p {L} 0-9] +
所以你的情況這將是:
str.replaceAll("[^\\p{L}]", "");
System.out.println("ja.v_,a".replaceAll("[^\\p{L}]", ""));
System.out.println("сл-=о-_=во!".replaceAll("[^\\p{L}]", ""));
凡\p{L}
是個 「字母」 的Unicode定義。
聲明'str.replaceAll(「[^ \ p {L}]」,「」);'是無用的。你需要以某種方式使用結果。 –
@AndyTurner這是真的,我的觀點是,在2017年,「a-z」模式不會是一個好的開發人員習慣的最佳解決方案。理由在我提到的文章中闡述。 –
這是一個重要的答案。我只會添加「\ p {L}'是」字母「的Unicode定義的解釋。 –
String test= "ja.v_,a";
int len=test.length();
String alphaString="";
for(int i=0; i<len; i++){
if (Character.isLetter(test.charAt(i))) {
alphaString=alphaString+test.charAt(i);
}
}
System.out.println(alphaString);
- 1. 如何從字符串中刪除所有字母字符?
- 2. 刪除字符串變量中的所有字符但是字母
- 3. 的MySQL刪除字符串中的所有字母數字字符但有兩個字符
- 4. 刪除字符串中的字母
- 5. 如何從Java中的字符串中刪除所有非字母字符?
- 6. 從字符串中刪除所有非字母,非數字字符?
- 7. 從lua字符串中刪除所有非字母數字字符
- 8. 刪除空白字符串中的所有小寫字母python
- 9. SQL Server-刪除字符串中的所有字母
- 10. 如何刪除字符串中的字符(和)之間的所有字母?
- 11. 如何從字符串[]中刪除沒有字母字符?
- 12. 快速刪除字符串中的所有非字母字符,python
- 13. 刪除字符串中與數字和字母不同的所有符號
- 14. 刪除多語言字符串中的所有非字母字符
- 15. Tcl刪除字符串後的所有字符而不刪除字符串
- 16. Python從字符串中刪除字母
- 17. 從字符串中刪除字母
- 18. 從字符串中刪除字母
- 19. 如何從字符串中刪除所有字母
- 20. 刪除字符串jquery中的所有非數字字符?
- 21. 刪除字符串中的所有數字字符DAX
- 22. 刪除字母之前的字符串
- 23. 從字符串中刪除非字母數字字符
- 24. 刪除字符串中所有子字符串的出現
- 25. 刪除字符串最後一個字母后的所有字符JS
- 26. R刪除字符串中的非字母數字符號
- 27. 替換字符串中的所有非字母數字字符
- 28. 將字符串轉換爲小寫字母,但所有元字符除外
- 29. 刪除所有字母和逗號從字符串
- 30. 所有非字母數字字符串除外的java字符串
你使用什麼編程語言? – Sedrick
刪除/替換'[^ a-z]'? (即所有非字母'a..z'符號) –
我將使用for循環來檢查每個字符。如果它是一個字符,我會連接到一個字符串。 Character.isAlphabetic()是一個起點 – Sedrick