为rails编写正则表达式的最佳方法是什么

时间:2018-05-06 07:53:43

标签: ruby-on-rails ruby regex

我有这个ruby on rails正则表达式,看起来像这样

str = "1,890.89"

我想将其转换为。

=> 1890.89 # Removing the comma

所以我创建了一个像这样的正则表达式。

[/[0-9\.]+/i]

然后添加类似这样的字符串

str[/[0-9\.]+/i]

期待结果

=> 1890.89

但结果是这样的。

=> 1

不包括剩余的数字和点。

你知道我在这里尝试了正则表达式 enter image description here

我正在使用

ruby '2.4.0'
gem 'rails', '~> 5.1.4'

2 个答案:

答案 0 :(得分:0)

如@revo评论,您需要执行以下两个步骤来删除逗号然后加入结果:

str.scan(/[0-9\.]+/i).join()

如果您只需删除逗号,则可以在没有正则表达式的情况下执行此操作:

str.gsub(',', '')

答案 1 :(得分:0)

由于它是一个字符串而您想要删除逗号,因此您不需要使用正则表达式,只需使用delete方法

 str.delete(',')