gpt4 book ai didi

ruby (在 Rails 上)正则表达式 : removing thousands comma from numbers

转载 作者:数据小太阳 更新时间:2023-10-29 07:04:21 33 4
gpt4 key购买 nike

这看起来很简单,但我遗漏了一些东西。

我有大量来自各种来源和不同格式的输入。

数字输入

123
123.45
123,45 (note the comma used here to denote decimals)
1,234
1,234.56
12,345.67
12,345,67 (note the comma used here to denote decimals)

关于输入的附加信息

  • 数字永远小于 100 万
  • 编辑:这些是价格,因此要么是整数,要么是百分之一

我正在尝试编写一个正则表达式并使用 gsub 去除千位逗号。我该怎么做?

我写了一个正则表达式:myregex =/\d+(,)\d{3}/

当我在 Rubular 中测试它时,它表明它只在我想要的测试用例中捕获逗号。

但是当我运行 gsub 时,我得到一个空字符串:inputstr.gsub(myregex,"")

看起来 gsub 正在捕获所有内容,而不仅仅是 () 中的逗号。我哪里错了?

最佳答案

result = inputstr.gsub(/,(?=\d{3}\b)/, '')

仅当紧跟三个数字时才删除逗号。

(?=...) 是一个先行断言:它需要有可能在当前位置匹配,但它不会成为实际匹配的文本的一部分(以及随后替换)。

关于 ruby (在 Rails 上)正则表达式 : removing thousands comma from numbers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14613980/

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