2009-11-17 65 views

回答

6

我想你的意思是你有一个字符串数组,他们都包含一些你想要删除的子字符串。非破坏性地:

array.map {|s| s.gsub(keyword, '')} 

根据需要使用破坏性变体在原地进行。

+0

这里是一个破坏性的(原地)例如:'array.each {|字| word.delete!('aeiou')}' – 2009-11-17 01:00:38

+0

这里是另一个破坏性(in-place)的例子:'array.map! {|字| word.gsub(关键字,'')}' – 2009-11-17 01:13:58

+6

我们是destructoglenns – 2009-11-17 01:14:34

1

是指数组中的字符串还是非唯一元素。对于第一个,使用uniq的方法:

p ["foo", "bar", "foo", "baz"].uniq 
["foo", "bar", "baz"] 

对于后者,你可以试试:

p ["foo", "bar", "foo", "baz"].map { |x| x.gsub('oo', '') } 
["f", "bar", "f", "baz"] 
相关问题