0

重複の可能性:
Java:文字列がdoubleに解析可能であることを確認する方法は?

Javaで文字列の数字をチェックする最良の方法は何ですか?

    try {
        NumberFormat defForm = NumberFormat.getInstance();            
        Number n = defForm.parse(s);      
        double d = n.doubleValue();
    } 
    catch (Exception ex) {
        // Do something here...    
    } 

または、REGEXを使用するより良い方法はありますか?

数字を剥ぎ取りたくない。

4

5 に答える 5

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
于 2012-06-25T11:14:58.130 に答える
1

正規表現を使用すると、この方法で実行できます-

String s="aa56aa";
Pattern pattern = Pattern.compile("\\d");
Matcher matcher = pattern.matcher(s);

System.out.println(matcher.find());
于 2012-06-25T11:11:54.793 に答える
0

良い解決策は、regexリンク<-ここに正規表現で作業するために必要なすべてのものがあります)を使用することです。

于 2012-06-25T11:08:48.603 に答える
0
/**
 * Return true if your string contains a number,
 * false otherwise.
 */
str.matches("\\d+");

例えば:

"csvw10vsdvsv".matches("\\d+"); // true
"aaa".matches("\\d+"); // false
于 2012-06-25T11:08:59.950 に答える
0
Pattern intsOnly = Pattern.compile("\\d+");
Matcher makeMatch = intsOnly.matcher("125455");
于 2012-06-25T11:11:18.197 に答える