반응형
tr과 gsub의 차이점은 무엇입니까?
나는 루비 설명서를 읽고 있었다과의 차이와 혼동있어 gsub
하고 tr
. 둘의 차이점은 무엇입니까?
tr
단일 문자를 바꾸고 자 할 때 사용하십시오 .
tr
정규 표현식을 통하지 않고 단일 문자 와 일치 하므로 문자는 첫 번째 문자열 인수에서 동일한 순서로 나타날 필요가 없습니다. 문자가 발견되면 두 번째 문자열 인수에서 동일한 색인에있는 문자로 대체됩니다.
'abcde'.tr('bda', '123')
#=> "31c2e"
'abcde'.tr('bcd', '123')
#=> "a123e"
사용 gsub
정규 표현식을 사용 할 때 또는 더 긴 문자열을 교체 할 때 :
'abcde'.gsub(/bda/, '123')
#=> "abcde"
'abcde'.gsub(/b.d/, '123')
#=> "a123e"
tr
단일 문자를 단일 고정 문자로만 대체 할 수 있지만 (단일tr
호출 에 이러한 종류의 여러 일치 항목을 넣을 수는 있지만) 빠릅니다.gsub
정규 표현식을 사용하여 복잡한 패턴을 일치시키고 복잡한 계산 결과로 대체 할 수 있지만보다 느립니다tr
.
tr
str
의 문자가에서 from_str
의 해당 문자로 교체 된 사본을 반환합니다 to_str
. 경우 to_str
보다 짧은 from_str
, 그것은 대응 관계를 유지하기 위해 마지막 문자로 채워집니다. http://apidock.com/ruby/String/tr
gsub
str
두 번째 인수로 대체 된 모든 패턴이 있는 사본을 리턴합니다 . 패턴은 일반적으로 Regexp입니다. 문자열로 주어지면, 포함 된 정규 표현식 메타 문자는 문자 그대로 해석 \d
됩니다 . 예를 들어 d
숫자 대신 백래시와 일치합니다 . http://apidock.com/ruby/String/gsub
참고 URL : https://stackoverflow.com/questions/26749065/what-is-the-difference-between-tr-and-gsub
반응형
'Programming' 카테고리의 다른 글
OSGi : Apache Felix와 Apache Karaf의 차이점은 무엇입니까? (0) | 2020.07.07 |
---|---|
Typescript가 키워드“export”를 사용하여 클래스와 인터페이스를 공개하는 이유는 무엇입니까? (0) | 2020.07.07 |
C ++에서 iPhone을 프로그래밍 할 수 있습니까? (0) | 2020.07.07 |
CMake가 동일한 라이브러리의 정적 및 공유 버전을 모두 빌드 할 수 있습니까? (0) | 2020.07.07 |
smtp가 명령 줄에서 작동하는지 확인하는 방법 (Linux) (0) | 2020.07.07 |