gpt4 book ai didi

java - 正则表达式提取数字并用千位分隔符对它们进行分组

转载 作者:行者123 更新时间:2023-12-01 12:06:14 25 4
gpt4 key购买 nike

在我的计算器应用程序中,我有一个像这样的字符串

String input = "-.46sin(34)*23000.34(2^3"

我想为字符串中的数字添加千位分隔符这样输出就会像:

-.46sin(34)*23,000.34(2^3

如何使用正则表达式实现此目的?我使用的语言是Java,浮点精度是6

更新:
Ulugbek Umirov 在评论中的最终答案是正确答案
正则表达式:
(?<!\.\d{0,6})\d+?(?=(?:\d{3})+(?:\D|$))

Java代码:
String output = input.replaceAll("(?<!\\.\\d{0,6})\\d+?(?=(?:\\d{3})+(?:\\D|$))", "$0,");

最佳答案

下面的正则表达式可以给你这个想法:

(?<!\d\.\d{0,6})\d+?(?=(?:\d{3})+(?:\D|$))

Regular expression visualization

将其替换为$0,

Demo

关于java - 正则表达式提取数字并用千位分隔符对它们进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27575159/

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