Expresiones regulares fo sustitución de los números de una serie

Tal Angel :

Este es mi cadena:

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

Deseo para reemplazar cualquier número (entero o real con separador de mil o no) en la cadena usando expresiones regulares y obtener esta nueva cadena:

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

¿Cómo puedo solucionar este problema?

Pushpesh Kumar Rajwanshi:

Puede capturar los números utilizando esta expresión regular,

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

Aquí, \d+captura un número que tiene uno o más dígitos y (?:[,.]\d+)*captura opcionalmente más dígitos que son o bien coma o un punto separado, y reemplazarlos con "$0"donde $0representa partido conjunto.

demostración de expresiones regulares

Java demostración de código,

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

Huellas dactilares,

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

Además, su resultado esperado parece faltar la comillas dobles y el espacio que tiene en el inicio de la cadena de entrada y que muy probablemente debería ser un error tipográfico.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=202629&siteId=1
Recomendado
Clasificación