我有一个这样的数组:
["lorem", "ipsum", "1734", "dolor", "1", "301", "et", "4102", "92"]
有没有一种方法可以删除数组中的所有数字,即使它们被存储为字符串,以便我只剩下以下内容:
["lorem", "ipsum", "dolor", "et"]
感谢您提供的任何提示。
我有一个这样的数组:
["lorem", "ipsum", "1734", "dolor", "1", "301", "et", "4102", "92"]
有没有一种方法可以删除数组中的所有数字,即使它们被存储为字符串,以便我只剩下以下内容:
["lorem", "ipsum", "dolor", "et"]
使用正则表达式模式
s = ["lorem", "ipsum", "1734", "dolor", "1", "301", "et", "4102", "92"]
s.reject { |l| l =~ /\A\d+\z/ }
# => ["lorem", "ipsum", "dolor", "et"]
reject { |w| w !~ /\D/ }
。 - mu is too shorts = ["lorem", "ipsum", "1734", "dolor", "1", "301", "et", "4102", "92"]
s.reject{|s| s.match(/^\d+$/) }
s = %w[ foo 134 0.2 3e-3 bar ]
s.reject!{ |str| Float(str) rescue false }
p s
#=> ["foo", "bar"]
我可以说的一种方式是:正则表达式匹配
然后使用以下代码:
txt='你的字符串'
re1='(\\d+)' # 整数 1
re=(re1)
m=Regexp.new(re,Regexp::IGNORECASE);
if m.match(txt)
int1=m.match(txt)[1];
# 在此处删除项目
end