含まれている場合: hello, poison, world, search, echo ...
をそして、私はいくつかの文字e, h, o
を持っている今、私はこの手紙を含んでいるすべての単語を見つける必要があります。 e, h, o
正規表現:3つの文字は、私は単語の数を持っている
ためsearch, echo
と同じように、私はこの方法で検索することができます。
words = %w[hello poison world search echo]
matched = words.select do |w|
%w[e,h,o].all?{ |l| w =~ /#{l}/ }
end
問題は文字がo, o, o
、またはl, b, l
をしている場合、この検索はopen
またはboil
のような言葉をtrueを返すということですが、私は言葉を検索する必要があります
o
又は
l
二の三一の
b
UPDを含みます
leters = "abc" words.select{ |w| w.count(letters) >= 3 }
UPD 2
悪いソリューション、例:
"lllllll".count("lua") #=> 5
どのように多くの言葉あなたは全体で良好なパフォーマンスをしたい場合は? –
あなたのテキストはどれくらいの大きさですか?また、それに対して複数の3文字セットを実行する必要がありますか? –
約500-1000語(これは配列です)セット(毎回20-30) – fl00r