如果字符串中包含這些字符,則該語句將返回true。 「-1234567890」。如果字符串除了這些字符還有其他字符,該語句將返回false。字符可以以任何順序和任何數量,只要它包含這些字符。所以String a =「12-3」;將返回true,但String b =「1a3-」;會返回false。 **它也不能通過for循環。我需要查看字符串中的字符並接受該字符串(如果它只包含Java中的某些字符)
回答
如果你輸入一個名爲input
你可以做到這一點
input.matches("^[0-9\\-]*$")
這回答你的問題相關的字符串 - 但我第二註釋說明,詳細瞭解正則表達式,你會發現它很有用比你更會認爲。
這沒有奏效,它說「 - 」是非法逃跑角色。 – user2608978
Ahh yes - 它需要\\ - –
您不需要帶'matches()'的'^'和'$'錨點。另外,當字符類結束時,你不需要轉義'-'。所以,'matches(「[0-9 - ] *」)'應該也是一樣。或者,如果你想使用'\ d':'[\\ d - ] *'。 – arshajii
我想說
String str;
str.matches("^[0-9-]*$")
首先,這樣你就不必把這個字符匹配已經^ $字符。 \\d
意味着[0-9]
和-
是不是一個特殊的字符,所以你不必把\\
,你應該+而不是*,因爲我認爲你不想匹配空字符串到你的正則表達式。
所以,你應該使用:
s.matches("[\\d-]+");
代碼:
String arr[] = {"1-23a456-", "a123","123-","-","1","123123fwdf234","123-3453",""};
for (String string : arr) {
System.out.println(string + "==>" + string.matches("[\\d-]+"));
}
輸出:
1-23a456-==>false
a123==>false
123-==>true
-==>true
1==>true
123123fwdf234==>false
123-3453==>true
==>false \\ empty string
- 1. 檢查一個字符串是否只包含某些字符
- 2. 如何只接受一個字符串與Java中的某些字符
- 3. 接受需要字符串文字的函數中的字符。
- 4. 創建只包含某些字符的字符串[]
- 5. 如何檢查一個字符串只包含Prolog中的某些字符?
- 6. Datatrigger如果字符串包含某些字符
- 7. Java檢查字符串只有某些字和字符
- 8. 如何檢查字符串是否包含Java中的某些字符?
- 9. 如何改變Java字符串只包含某些字母字符
- 10. 檢查某些字符的字符串
- 11. 檢查字符串的某些字符
- 12. 檢查字符串包含字符串
- 13. 如何查找包含python中的字符串中的某些字符的最短的連續子字符串?
- 14. 檢查字符串包含的字符
- 15. Python:如何替換某些字符所包含的字符串
- 16. 檢查字符串是否包含某些字符
- 17. 檢查字符串是否包含字符集中的字符
- 18. Javascript檢查字符串是否只包含某個字符
- 19. 當字符串包含[]字符時替換字符串中的子字符串
- 20. 需要轉義字符串中的雙字符或某些特殊字符
- 21. 檢查一個字符串是否只包含某些字母
- 22. 字符串需要包含2個字
- 23. 如何檢查C中的字符串中的某些字符?
- 24. 的Java看看ArrayList包含字符串
- 25. 查找包含字符串數組中子字符串的所有字符串
- 26. Java - 查看一個字符串是否包含任何字符
- 27. 驗證一個字符串是否只包含javascript中的某些字符
- 28. 不包含某些字符的匹配字符串
- 29. 如何驗證字符串是否包含某些字符?
- 30. JAVA:從字符串中讀取字符串到某個字符
瞭解正則表達式,它們將賦予你更多的比你想象的。 –