Ruby를 사용하여 문자열에 적어도 하나의 숫자가 포함되어 있는지 확인해야합니다 (정규식이라고 가정합니다).Ruby를 사용하여 문자열에 숫자가 하나 이상 있는지 어떻게 확인합니까?
어떻게하면됩니까?
Ruby를 사용하여 문자열에 적어도 하나의 숫자가 포함되어 있는지 확인해야합니다 (정규식이라고 가정합니다).Ruby를 사용하여 문자열에 숫자가 하나 이상 있는지 어떻게 확인합니까?
어떻게하면됩니까?
당신은 인수와 정규식 /\d/
으로 String
클래스의 =~
방법을 사용할 수 있습니다. 나는 짧은 초 동안 이동
def has_digits?(str)
str.count("0-9") > 0
end
if /\d/.match(theStringImChecking) then
#yep, there's a number in the string
end
: 여기
은 예입니다 [/ \ d /]는 miss (조건 테스트에서 AKA 거짓) 또는 hit (조건 테스트에서 AKA)의 인덱스를 반환합니다. 실제 값이 필요한 경우 s [/ (\ d)/1]모두 동일해야하며 주로 프로그래머가 선택해야합니다. //public.kvalley : -
def has_digits?(s)
return !s[/\d/].nil?
end
또는 ... String 클래스에 추가하는 것이 더 편리합니다 -
class String
def has_digits?
return !self[/\d/].nil?
end
end
정규 표현식을 컴파일하는 오버 헤드를 무시하면 효율성이 떨어질 수 있습니다. 테스트가 큰 루프에서 수행되거나 검사 할 문자열이 매우 길면 매우 공평합니다. 퇴행성 사건의 경우 솔루션은 전체 문자열을 탐색해야하지만 올바른 정규 표현식은 숫자가 발견되는 즉시 중지됩니다. –
이 기능은 최대한 효율적이지 않을 수도 있지만 매우 읽기 쉽기 때문에 특정 상황에서 더 좋을 수 있습니다. –
보다는 "S = ~/\ D /"같은 것을 사용 : 정규식을 사용하지 않고, 또는
s = 'abc123'
if s =~ /\d/ # Calling String's =~ method.
puts "The String #{s} has a number in it."
else
puts "The String #{s} does not have a number in it."
end
!s[/\d/].nil?
는 독립 함수가 될 수 있습니다. com/regex/regex.asp
HTTP –