文字列内の数字を置き換えるFO正規表現

このようなエンジェル:

これは私の文字列です。

" "hello": 0, "zulu": 1,234, "Bravo": 987.456 "

私は正規表現を使用して文字列内の任意の数(整数または実数千の区切りとか)を交換し、この新しい文字列を取得したいです:

 "hello": "0", "zulu": "1,234", "Bravo": "987.456" "

どのように私はこの問題を解決するのですか?

PushpeshクマールRajwanshi:

あなたは、この正規表現を使用して数値を取り込むことができ、

\d+(?:[,.]\d+)*

ここで、\d+1桁以上の数字を持つ数を捕捉し、(?:[,.]\d+)*必要に応じていずれかのカンマであるか、または分離されたドット桁以上を捕捉し、それらを交換する"$0"場合$0、全体のマッチを表します。

正規表現のデモ

Javaコードのデモ、

String s = "\" \"hello\": 0, \"zulu\": 1,234, \"Bravo\": 987.456 \"";
System.out.println(s.replaceAll("\\d+(?:[,.]\\d+)*", "\"$0\""));

プリント、

" "hello": "0", "zulu": "1,234", "Bravo": "987.456" "

また、あなたの期待される結果は、あなたが入力した文字列の先頭に持っており、それが最も可能性の高いタイプミスであることをダブルクォート、スペースが欠落しているようです。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=202626&siteId=1