簡體   English   中英

Ruby - 如何檢查數組中包含的字符串?

[英]Ruby - How to check string contains in an array?

我想提取一個不包含(不完全匹配)我給出的單詞的列表。 例子:

a = ["drop", "drop down", "forum", "drop down forum"]

b = ["drop", "drop down", "forum", "drop down forum", "data"]

Input string is str = "drop"

Output should be like: a = ["forum", "data"]

它就像 MySQL 中的“LIKE”查詢,但我想使用 ruby​​ 語言來做。 請幫助解決這個問題。

參考 拒絕! , 刪除塊評估為真的 self 的每個元素。

list = ["drop", "drop down", "forum", "drop down forum"]
str = 'drop'
list.reject!{|item| item.include? str} # list = ["forum"]

注意:-包括? 例如區分大小寫:- 'Drop down'.include? 'drop' 'Drop down'.include? 'drop'將返回 false。

對於不區分大小寫的情況,我們可以執行以下操作

list.reject!{|item| item.downcase.include? str.downcase}

對於多個列表,您可以執行以下操作

list_one = ["drop", "drop down", "forum", "drop down forum"]
list_two = ["drop", "drop down", "forum", "drop down forum", "data"]
(list_one + list_two).uniq.reject{|item| item.downcase.include? str.downcase} # ["forum", "data"]
list1 = ["drop", "drop down", "forum", "drop down forum"]

list2 = ["drop", "drop down", "forum", "drop down forum", "data"]

result = (list1 | list2).reject{ |i| i.match(/\bdrop\b/i) }
=> ["forum", "data"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM