0

正規表現構文を理解しようとしています。次の作業を行う方法を知っている人はいますか?

    // if there is already a decimal place in the string ignore
    String origString = txtDisplay.getText();

    Pattern pattern = Pattern.compile("/\\./");

    //pattern = 
    if(pattern.matcher(origString)){
        System.out.println("DEBUG - HAS A DECIMAL IGNORE");
    }
    else{
        System.out.println("DEBUG - No Decimal");
    }
4

1 に答える 1

1

Java 正規表現にはパターン区切り文字は必要ありません。つまり、パターンの最初と最後にスラッシュとスラッシュは必要ありません。そうしないと、文字どおりに解釈され/ます。/

パターンを次のように変更する必要があります。

\\.

次に、次のような一致があるかどうかを確認できます。

Matcher matcher = pattern.marcher(origString);
if(matcher.find()){
    System.out.println("DEBUG - HAS A DECIMAL IGNORE");
}
else{
    System.out.println("DEBUG - No Decimal");
}

ただし、文字列にドットまたはその他の文字列リテラルが含まれているかどうかを確認したい場合は、次を使用できます。

bool doesItContain = origString.indexOf('.') != -1;

whereindexOf()は、任意の文字列をパラメータとして取ります。

于 2013-10-10T15:22:22.440 に答える