I have the following array
cities = [\"Kathmandu\", \"Pokhara\", \"\", \"Dharan\", \"Butwal\"]
I want to remove blank elements from the ar
In my project I use delete
:
cities.delete("")
To remove nil values do:
['a', nil, 'b'].compact ## o/p => ["a", "b"]
To remove empty strings:
['a', 'b', ''].select{ |a| !a.empty? } ## o/p => ["a", "b"]
To remove both nil and empty strings:
['a', nil, 'b', ''].select{ |a| a.present? } ## o/p => ["a", "b"]
Here is what works for me:
[1, "", 2, "hello", nil].reject(&:blank?)
output:
[1, 2, "hello"]
another method:
> ["a","b","c","","","f","g"].keep_if{|some| some.present?}
=> ["a","b","c","f","g"]
Here is one more approach to achieve this
we can use presence
with select
cities = ["Kathmandu", "Pokhara", "", "Dharan", nil, "Butwal"]
cities.select(&:presence)
["Kathmandu", "Pokhara", "Dharan", "Butwal"]
You can Try this
cities.reject!(&:empty?)