我正在使用nokogiri解析一个html页面并提取一些数据点。它似乎提取了正确的数据点,但也提取了空值和逗号,这里是一个提取的样本:
null,
3.28,
null,
null,
null,
1.91,
2.83,
null,
9.06,
null,
3.80,
6.42,
null,
我希望能够删除所有“null”的实例以及一般的逗号,然后将每个元素转换为float。上面似乎根本没有删除“null”。
答案 0 :(得分:3)
你可以这样做:
array.reject{|x|x =~ /null/}.map(&:to_f)
答案 1 :(得分:1)
你走了:
input = <<INPUT
null,
3.28,
null,
null,
null,
1.91,
2.83,
null,
9.06,
null,
3.80,
6.42,
null,
INPUT
result = input.split.map(&:to_f)
=> [0.0, 3.28, 0.0, 0.0, 0.0, 1.91, 2.83, 0.0, 9.06, 0.0, 3.8, 6.42, 0.0]
result.delete(0.0)
=> 0.0
result
=> [3.28, 1.91, 2.83, 9.06, 3.8, 6.42]
答案 2 :(得分:0)
不包括逗号(请注意正则表达式中的括号):
data1 = inline.to_s().scan(/y: (.*?)\,/)
结果:
result = data1.reject{|item| item == "null"}.map(&:to_f)