텍스트 검색 및 교체

Ruby:
텍스트 검색 및 교체

How to: (어떻게 할까요?)

Ruby에서 문자열 내에서 텍스트를 검색하고 바꾸는 기본적인 방법은 subgsub 메소드를 사용하는 것입니다. sub는 첫 번째 발견된 것만 바꾼다면, gsub는 모든 발견된 것을 바꿉니다.

text = "I like Ruby. Ruby is fun."

# 첫 번째 'Ruby'를 'Python'으로 바꿉니다
replaced_once = text.sub('Ruby', 'Python')
puts replaced_once
# => I like Python. Ruby is fun.

# 모든 'Ruby'를 'Python'으로 바꿉니다
replaced_all = text.gsub('Ruby', 'Python')
puts replaced_all
# => I like Python. Python is fun.

# 정규 표현식을 사용하여 모든 소문자를 대문자로 바꿉니다
upcased = text.gsub(/[a-z]/, &:upcase)
puts upcased
# => I LIKE RUBY. RUBY IS FUN.

Deep Dive (심층 분석)

텍스트를 검색하고 바꾸는 기능은 다양한 프로그래밍 언어에서 비슷하게 제공되고 있습니다. 이런 기능은 Unix에서 사용되던 sed라는 스트림 편집기에서 유래되었습니다. Ruby의 subgsub 메소드는 String 클래스에 속해 있는데, 이들 메소드는 내부적으로 강력한 정규 표현식 엔진을 사용하여 패턴 매칭을 수행합니다. 정규 표현식은 텍스트를 처리할 때 굉장히 유용하며 복잡한 패턴을 정의할 수 있습니다.

See Also (더 보기)