gpt4 book ai didi

java - 用于替换字符串中数字的正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:00:02 24 4
gpt4 key购买 nike

这是我的字符串:

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

我希望使用正则表达式替换字符串中的任何数字(整数或实数与千位分隔符或不)并获得这个新字符串:

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

我该如何解决这个问题?

最佳答案

您可以使用此正则表达式捕获数字,

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

此处,\d+ 捕获具有一位或多位数字的数字,(?:[,.]\d+)* 可选择捕获更多数字,这些数字可以是逗号或点分隔,并用 "$0" 替换它们,其中 $0 代表整个匹配。

Regex Demo

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" "

此外,您的预期结果似乎缺少输入字符串开头的双引号和空格,这很可能是错字。

关于java - 用于替换字符串中数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55933770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com