テキストフィールドから取得した文字列にカンマが含まれているかどうかを確認して、ドロップしてドット付きの新しい値を要求します。
使ってみます
textTestAr.trim().matches("^[,]+$")
しかし、これは何も起こりません
^[1-9,]+$
トリックを行いますが、1のような数字にも一致します。
この問題に正規表現を強制する必要はありません。簡単textTestAr.indexOf(',')
です。
ここで正規表現の代わりにString#containsを使用してみませんか。
カレット^
はテキストの先頭と一致します。[,]+
任意の数のコンマに一致します。必要なのは、探しているアイテムの前後のすべてを無視するものです。
^.*[,].*$
ドットは改行以外のすべての文字と一致します。*
繰り返しです(0-任意の数)。はテキストの$
終わりに一致します。
ここでは文字列のトリミングは不要であることに注意してください。
ただやる
if(textTestAr.contains(",")) System.out.println("It does!");
ただやるtextTestAr.contains(",")
最初のものは、文字列全体がコンマのみで構成されていると主張しています。2つ目は、文字列が数字(以外0
)とコンマで構成されていることを示していますが、これらの特定の1つは必要ありません。あなたはこれを使うことができます:
.*,.*
^...$
使用する場合は必要ないことに注意してくださいmatches
(暗黙的であるため)。しかし、indexOf
Markoやyentupのような単純な解決策の方がとにかく優れています。
正規表現でこれに直接答えるつもりです。
/,/
アルファベット、記号、または数字の1つまたは組み合わせを中に入れて、//
それを具体的に一致させようとします。
そのための正規表現は必要ありません:
textTestAr.trim().replace(',','.');
public boolean hasComma(String string) {
if ( string.indexOf(",") > -1) {
return true;
}
return false;
}