我找到了这段代码:
.each_key {|a| self[a].strip! if self[a].respond_to? :strip! }
在此网站上:http://granth.ca/2006/02/strip-whitespace
但我认为这是一个哈希,我试图对数组做同样的事情。
我尝试了一些不同的东西,但无法弄清楚。
感谢您的帮助
答案 0 :(得分:64)
这是collect
的用途。
yourArray.collect{|x| x.strip || x }
或者(将已经“剥离”的字符串改为nil“:
yourArray.collect(&:strip)
答案 1 :(得分:6)
YourArray.compact.collect(&:strip)
如果你有一些零元素。
答案 2 :(得分:2)
几乎相同,只有你将each_key
更改为一个方法来处理数组的每个元素(each
)和self[a]
到a
(因为你没有需要再研究哈希了。)
.each {|a| a.strip! if a.respond_to? :strip! }
修改强>
一个例子
x = [" 1 ", "b", " c ", 5]
x.each {|a| a.strip! if a.respond_to? :strip! }
puts x.inspect
输出:
["1", "b", "c", 5]
字符串末尾没有空格。
答案 3 :(得分:2)
我知道这已经很晚了但是找到了这个squish的简单命令。
执行myArray.map! {|a| a.squish}
将从每个数组元素中删除所有以下内容和尾随空格。