2012-02-29 5 views

답변

5

[] nil을 반환하지 않을 경우 [ "사과"] 당신은 regex alternation을 사용할 수 있습니다 얻을 감지되면 내가 사과

product.name.downcase.scan(/apple/) 

마이크로 소프트 모두를 검색하고 싶습니다 :

product.name.downcase.scan(/apple|microsoft/) 

문자열에 지정된 문자열이 포함되어 있는지 알아야하는 경우 scan 대신 =~이라는 단일 문자를 사용하는 것이 좋습니다.

str = 'microsoft, apple and microsoft once again' 

res = str.scan /apple|microsoft/ # => res = ["microsoft", "apple", "microsoft"] 
# do smth with res 

# or 
if str =~ /apple|microsoft/ 
    # do smth 
end 
+0

최고를, 나는 그것을 감사! – ahuang7

2

또한 모두 정규 표현식을 건너 뛸 수 :

['apple', 'pear', 'orange'].any?{|s| product.name.downcase.match(s)} 

또는

['apple', 'pear', 'orange'].any?{|s| product.name.downcase[s]} 
관련 문제