如何从字符串中删除除数字以外的所有字符&引用;及"&引用;使用Ruby?

如何从字符串中删除除数字以外的所有字符&引用;及"&引用;使用Ruby?,ruby,regex,string,parsing,Ruby,Regex,String,Parsing,请帮助我为下一个任务创建一个regexp:我在某些表中有一个“cost”列,但其中的值不同: ['1.22','1,22','$1.22','1,22$','$ 1.22'] 我需要删除除数字和,和之外的所有字符。所以我需要得到一个总是可以解析为Float的值。你可以用

请帮助我为下一个任务创建一个regexp:我在某些表中有一个“cost”列,但其中的值不同:

['1.22','1,22','$1.22','1,22$','$ 1.22']

我需要删除除
数字
之外的所有字符。所以我需要得到一个总是可以解析为Float的值。

你可以用

“hippo”替换所有的空白,所有的
'$'
试试这个


要提取数字:

a = ["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]
试试这个:

yourStr.gsub(/[^0-9,.]/, "")
另一个:

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

它从字符串中删除所有字符并返回所有整数

您尝试了什么?在提问之前,最好先阅读一些文档或谷歌。你希望“1,22”被解释成什么?你写的任何代码都是无效的。这是一个字符串数组吗?在ruby中如何实现?这非常有用!有没有办法在代码中保留换行符?(我正在尝试制作一个程序来清理CSV文件。)@InspectoreElement将
\r
\n
添加到字符列表中,然后它们将不会被删除。谢谢,这对我很有效。如果要排除逗号,只需使用gsub(/[^0-9.]/,“”)即可
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")