반응형
Ruby의 문자열에서 숫자 추출
이 코드를 사용하고 있습니다.
s = line.match( /ABCD(\d{4})/ ).values_at( 1 )[0]
다음과 같은 문자열에서 숫자를 추출하려면
ABCD1234
ABCD1235
ABCD1236
기타
작동하지만 Ruby에서 이것에 대한 다른 대안이 무엇인지 궁금합니다.
내 코드 :
ids = []
someBigString.lines.each {|line|
ids << line.match( /ABCD(\d{4})/ ).values_at( 1 )[0]
}
a.map {|x| x[/\d+/]}
http://www.ruby-forum.com/topic/125709에 따라 많은 Ruby 방법이 있습니다 .
line.scan(/\d/).join('')line.gsub(/[^0-9]/, '')line.gsub(/[^\d]/, '')line.tr("^0-9", '')line.delete("^0-9")line.split(/[^\d]/).joinline.gsub(/\D/, '')
콘솔에서 각각을 시도하십시오.
해당 게시물의 벤치 마크 보고서도 확인하십시오.
더 간단한 해결책이 있습니다
line.scan(/\d+/).first
your_input = "abc1cd2"
your_input.split(//).map {|x| x[/\d+/]}.compact.join("").to_i
작동합니다.
또 다른 해결책은 다음과 같이 작성하는 것입니다.
myString = "sami103"
myString.each_char{ |c| myString.delete!(c) if c.ord<48 or c.ord>57 } #In this case, we are deleting all characters that do not represent numbers.
이제 입력하면
myNumber = myString.to_i #or myString.to_f
이것은
문자열에서 숫자 부분을 추출하려면 다음을 사용하십시오.
str = 'abcd1234'
/\d+/.match(str).try(:[], 0)
반환되어야합니다 1234
참고 URL : https://stackoverflow.com/questions/2640819/extract-number-from-string-in-ruby
반응형
'Nice programing' 카테고리의 다른 글
| onCheckedChanged가 자동으로 호출됩니다. (0) | 2020.11.12 |
|---|---|
| Xcode의 UITextField에 이미지를 추가 하시겠습니까? (0) | 2020.11.12 |
| git에서 특정 커밋을 가리키는 모든 태그를 나열하는 방법 (0) | 2020.11.12 |
| PostgreSQL : 기본 제약 이름 (0) | 2020.11.12 |
| Swift에서 배열 요소별로 그룹화하는 방법 (0) | 2020.11.12 |