测试字符串中的数字字符

时间:2012-06-25 11:02:59

标签: java regex string

  

可能重复:
  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有更好的方法吗?

我不想删除这些数字。

5 个答案:

答案 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)

一个好的解决方案是使用regexlink < - 在这里,你拥有了与正则表达式一起工作所需的一切。

答案 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");