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