Search code examples
arraysrubycase-insensitiveremoveall

How do I remove an element from an array in a case-insensitive way?


I’m suing Ruby 2.3. When I want to remove a string element from an array by value, I can do

2.3.0 :005 > a.delete("AB")
 => "AB" 

but how do I remove the element in a case-insensitive way? That is, how can I make

a.delete(“ab”)

behave like

a.delete(“AB”)

?


Solution

  • Try delete_if

    a.delete_if { |s| s.downcase == 'ab' }