2012-03-30 2 views
1

에 대한 문자열을 검색하려면 다음루비 : 내가 좋아하는 일을하고 싶은 여러 검색어

if params[:entry].include? ("http" || "www" || "com" || "abc" || "def") 
    ... 
end 

내가 정규식을 사용하여 시도했지만 작동 (문자열에 정규식을 변환 할 수 없습니다) 나는하지 않았다 찾고있는 문자열이 인 경우 어디에도의 params [: entry]가 표시되면 true를 반환하는 명령문이 필요합니다.

Ruby/Rails를 사용하여 가장 좋은 방법은 무엇입니까?

답변

-1

배열로 돌려 시도해보십시오 Wukerplank의 대답에 추가

["http","www","com","abc","def"].include?(params[:entry]) 
+1

완벽하게 일치하는 항목 만 찾기 때문에 작동하지 않습니다. 명확히 말하면,'params [: entry]'가'www.hello.com'이라면, 우리는 실제로 진실을 원할 때 false를 반환 할 것입니다. – sscirrus

2

을 아마 당신이 어떤 경우 (위/아래)에서 이러한 문자열을 일치 시키려면, 당신은 할 수있다 이 약간에게 정규 표현식을 변경하는이 방법은 :

params[:entry].match(/(http|www|com|abc|def)/i) 

물론 당신은 당신이 경우 문자열 대신 호 경기의 =~ 연산자를 사용할 수 있습니다 선호 :

params[:entry] =~ /(http|www|com|abc|def)/i 
+0

도움이되었습니다 - 감사합니다. Aldo. +1 – sscirrus

+0

당신을 환영합니다;) –

관련 문제