0
我試圖將下列字符串轉換爲一個整數列表的數組。試圖在ruby中編寫一個只需要整數並轉換爲數組的項的方法
"---\n- ''\n- '1060500964'\n- '1060500869'\n- '106050099..."
數組應該是這樣的:[1060500964, 1060500869, 106050099]
預先感謝您的幫助!
我試圖將下列字符串轉換爲一個整數列表的數組。試圖在ruby中編寫一個只需要整數並轉換爲數組的項的方法
"---\n- ''\n- '1060500964'\n- '1060500869'\n- '106050099..."
數組應該是這樣的:[1060500964, 1060500869, 106050099]
預先感謝您的幫助!
看起來像YAML。您可以使用標準的YAML庫解析它(因爲紅寶石1.9.2):
require 'yaml'
YAML.load("---\n- ''\n- '1060500964'\n- '1060500869'\n- '106050099'")
.reject(&:empty?)
.map(&:to_i)
=> [1060500964, 1060500869, 106050099]
這裏是一個可能的解決方案:
numbers = []
string_array = "---\n- ''\n- '1060500964'\n- '1060500869'\n- '106050099...".delete("'").split
string_array.each do |item|
num = item.to_i
numbers << num if num!=0
end
你是對的!完成 – nicooga
這是做到這一點的正確方法。該字符串是YAML,因此將其視爲YAML。但YAML不在覈心,它在[標準庫](http://www.ruby-doc.org/stdlib-2.1.2/libdoc/yaml/rdoc/index.html)中,否則它不會必須要求。 –
我甚至不知道這是yaml!我一定會在下次看到它時承認它,非常感謝。 – neo