source

tr과 gsub의 차이점은 무엇입니까?

manysource 2023. 6. 4. 10:37

tr과 gsub의 차이점은 무엇입니까?

루비 문서를 읽다가 내용이 어떻게 다른지 헷갈렸습니다.gsub그리고.tr둘 사이의 차이점은 무엇입니까?

단일 문자를 바꾸거나 변환할 때 사용합니다.

tr단일 문자(정규 표현식을 사용하지 않음)와 일치하므로 첫 번째 문자열 인수에서 문자가 같은 순서로 발생할 필요가 없습니다.문자가 발견되면 두 번째 문자열 인수의 동일한 인덱스에 있는 문자로 대체됩니다.

'abcde'.tr('bda', '123')
#=> "31c2e"

'abcde'.tr('bcd', '123')
#=> "a123e"

정규식을 사용해야 하거나 더 긴 하위 문자열을 바꾸려고 할 때 사용합니다.

'abcde'.gsub(/bda/, '123')
#=> "abcde"

'abcde'.gsub(/b.d/, '123')
#=> "a123e"
  • tr단일 문자를 단일 고정 문자로 대체할 수 있습니다(단, 이 종류의 일치 항목을 여러 개 포함할 수 있음).trcall) 하지만 빠릅니다.
  • 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