从字符串数组中删除数字

sim*_*ach 4 ruby arrays string ruby-on-rails ruby-on-rails-3

我有一个看起来像这样的数组:

["lorem", "ipsum", "1734", "dolor", "1", "301", "et", "4102", "92"]
Run Code Online (Sandbox Code Playgroud)

有没有办法删除数组中的所有数字,即使它们存储为字符串,所以我将留下这个:

["lorem", "ipsum", "dolor", "et"]
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何提示.

Sim*_*tti 5

使用正则表达式模式

s = ["lorem", "ipsum", "1734", "dolor", "1", "301", "et", "4102", "92"]
s.reject { |l| l =~ /\A\d+\z/ }
# => ["lorem", "ipsum", "dolor", "et"] 
Run Code Online (Sandbox Code Playgroud)

  • 还有`拒绝{| w | w!〜/\D /}`如果你不介意三重否定(拒绝,不匹配,不是数字). (2认同)