我有一個數組由若干字符串,我在另一個數組搜索,像這樣的一個數組的正則表達式字符串:包括在
strings_array = ["string1", "string2", "string3"]
main_array = [ ## this is populated with string values outside of my script ## ]
main_array.each { |item|
if strings_array.any? { |x| main_array.include?(x) }
main_array.delete(item)
end
}
這是一個簡化版本什麼我的劇本究竟是幹什麼,但這是主旨。它的工作原理是這樣,但我想知道如何才能使strings_array
包含由正則表達式構成的字符串。假設我在main_array
中有一個名爲「string-4385」的字符串,並且我想刪除任何由string-
+一系列整數組成的字符串(無需手動添加數字後綴)。我試過這個:
strings_array = ["string1", "string2", "string3", /string-\d+/.to_s]
這是行不通的,但這是我所追求的邏輯。基本上,有沒有辦法在數組中包含像這樣的正則表達式的字符串?或者有沒有比這個.any?
和include?
組合更好的方法來完成這項工作(無需輸入完整的字符串值)?
謝謝你的幫助!
你可以在你的'string_array'作爲一個正則表達式對待每一個項目,而不是'main_array.include?(x)的'你可以檢查是否'main_array [X]','x'是一個正則表達式,退貨'nil',在這種情況下沒有匹配。 – Oxfist
因爲你有一個Ruby標籤,所以在標題中不需要「(ruby)」。 –