请帮我写一个正则表达式来处理下面的任务:我有一个表格中的“cost”列,但其中的值是不同的:
['1.22','1,22','$1.22','1,22$','$ 1.22']
我需要除了数字
、,
和.
之外的所有字符都被删除。因此,我需要得到一个始终可以解析为浮点数的值。
请帮我写一个正则表达式来处理下面的任务:我有一个表格中的“cost”列,但其中的值是不同的:
['1.22','1,22','$1.22','1,22$','$ 1.22']
我需要除了数字
、,
和.
之外的所有字符都被删除。因此,我需要得到一个始终可以解析为浮点数的值。
a.map {|i| i.gsub(/[^\d,\.]/, '')}
# => ["1.22", "1,22", "1.22", "1,22", "1.22"]
试一下这个:
yourStr.gsub(/[^0-9,.]/, "")
\r
和\n
添加到字符列表中,它们就不会被移除了。 - ProgramFOXa = ["1.22", "1,22", "$1.22", "1,22$", "$ 1.22"]
a.map {|s| s[/[\d.,]+/] }
#=> ["1.22", "1,22", "1.22", "1,22", "1.22"]
,
应该被视为小数点 .
(例如 '1,22'
-> 1.22
),这将把您的值转换为浮点数:a = ["1.22", "1,22", "$1.22", "1,22$", "$ 1.22"]
a.map {|s| s[/[\d.,]+/].gsub(',','.').to_f }
#=> [1.22, 1.22, 1.22, 1.22, 1.22]
再来一个:
a= ['1.22','1,22','$1.22','1,22$','$ 1.22']
a.map{|i| i[/\d+.\d+/]}
# => ["1.22", "1,22", "1.22", "1,22", "1.22"]
你可以将所有的空格,所有的'$'
替换为''
str = "a1234c324ee4r"
str.delete("^0-9")
它从字符串中删除所有字符并返回所有整数