0

String から double を抽出する必要があります。問題は、文字列が次のようになることです。

「13.05 €」

今、正規表現を使用して数字だけを抽出しようとしました。

Double.parseDouble(test.getAmount().replaceAll("\\D+", ""));

ご覧のとおり、1 つの問題があります。\D+ を使用すると、「,」も置き換えられ、正しい量が得られません。今、私はこれを修正する方法を考えました。「数字以外はすべて置き換えますが、」のようなものが必要だと思います。しかし、それを正規表現で表現する方法がわかりません。誰かがイディアを持っていますか?

4

1 に答える 1

0

否定文字クラスを使用します。

Double.parseDouble(test.getAmount().replaceAll("[^\\d,]+", ""));

[^\\d,]で始まるため、否定された文字クラス^です。したがって、このクラスは数字とコンマ以外のすべてに一致します。

ここでRegexrを参照してください

于 2013-01-25T12:02:16.843 に答える