HML*_*ude -3 ruby regex arrays string
我在数组中显示以下模式的字符串:
"@SomeUselessText"
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我想摆脱我的数组中以字符"@"开头的所有字符串.
这是我到目前为止所提出的:
def array_purge(array)
for array.each |item|
item = item.gsub(/@.*/, "")
end
end
Run Code Online (Sandbox Code Playgroud)
但是,这也摆脱了表单的有效电子邮件地址:
"info@SomeSite.com"
Run Code Online (Sandbox Code Playgroud)
...我想保留.
我猜有一种优雅的方式来处理这个问题.也许使用".reject!"
其他建议的答案实际上并没有从阵列中清除目标物品; 他们只是用空字符串替换项目.您更希望这样:
def array_purge(array)
array.reject! { |item| item.start_with?('@') }
end
>> array = ['Hello', '123', '@SomeUselessText', 'info@SomeSite.com']
>> array_purge(array)
=> ["Hello", "123", "info@SomeSite.com"]
Run Code Online (Sandbox Code Playgroud)