可能重复:
Java: how to check that a string is parsable to a double?
在Java中检查字符串中数字字符的最佳方法是什么?
try {
NumberFormat defForm = NumberFormat.getInstance();
Number n = defForm.parse(s);
double d = n.doubleValue();
}
catch (Exception ex) {
// Do something here...
}
或者使用REGEX有更好的方法吗?
我不想删除这些数字。
答案 0 :(得分:2)
String test = "12cats";
//String test = "catscats";
//String test = "c4ts";
//String test = "12345";
if (test.matches(".*[0-9].*") {
System.out.println("Contains numbers");
} else {
System.out.println("Does not contain numbers");
} //End if
答案 1 :(得分:1)
使用正则表达式你可以这样做 -
String s="aa56aa";
Pattern pattern = Pattern.compile("\\d");
Matcher matcher = pattern.matcher(s);
System.out.println(matcher.find());
答案 2 :(得分:0)
一个好的解决方案是使用regex
(link < - 在这里,你拥有了与正则表达式一起工作所需的一切。
答案 3 :(得分:0)
/**
* Return true if your string contains a number,
* false otherwise.
*/
str.matches("\\d+");
e.g:
"csvw10vsdvsv".matches("\\d+"); // true
"aaa".matches("\\d+"); // false
答案 4 :(得分:0)
Pattern intsOnly = Pattern.compile("\\d+");
Matcher makeMatch = intsOnly.matcher("125455");