검색과 치환
gsub, sub, match를 알아봅니다
검색과 치환은(는) CoddyKit의 무료 Ruby Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ruby Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ruby Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
부분 문자열 찾기
index 메서드는 첫 번째 일치 항목의 위치를 반환하고, 찾지 못하면 nil을 반환합니다. include?는 참 또는 거짓을 반환합니다.
text = "hello world"
puts text.index("world")
puts text.include?("world")sub로 첫 번째 일치 항목 바꾸기
sub는 패턴이 나타난 횟수 중 첫 번째 항목만 새 값으로 바꿉니다.
text = "cat cat cat"
puts text.sub("cat", "dog")gsub로 모든 일치 항목 바꾸기
gsub는 전역 치환을 의미합니다. 패턴이 나타난 모든 항목을 바꿉니다.
text = "cat cat cat"
puts text.gsub("cat", "dog")정규 표현식 사용하기
/.../처럼 슬래시 사이에 작성한 패턴은 정규 표현식입니다. /\d/는 숫자 하나와 일치합니다. gsub와 sub는 정규 표현식 패턴을 받을 수 있습니다.
text = "a1b2c3"
puts text.gsub(/\d/, "*")match?로 일치 여부 확인하기
match?는 정규 표현식이 문자열의 어느 위치에서든 일치하면 참을 반환합니다. 확인 작업에 빠르고 깔끔하게 사용할 수 있습니다.
email = "ada@ruby.org"
puts email.match?(/@/)
puts "no at sign".match?(/@/)match로 캡처하기
match는 MatchData 객체를 반환합니다. 인덱스 [0]은 전체 일치 항목이고, 괄호로 만든 캡처 그룹에는 [1], [2] 등으로 접근합니다.
data = "2024-05-30"
m = data.match(/(\d+)-(\d+)-(\d+)/)
puts m[1]
puts m[2]scan으로 모든 일치 항목 찾기
scan은 문자열에서 찾은 모든 일치 항목을 배열로 반환합니다. 모든 숫자나 단어를 추출할 때 매우 유용합니다.
text = "phone 555 and 777"
puts text.scan(/\d+/).inspect앵커
앵커는 일치 항목을 특정 위치에 고정합니다. ^는 줄의 시작을, $는 줄의 끝을 의미합니다. \A와 \z는 전체 문자열의 양 끝에 고정합니다.
puts "hello".match?(/^hel/)
puts "hello".match?(/llo$/)
puts "hello".match?(/^world/)문자 클래스
대괄호는 허용되는 문자의 집합을 정의합니다. [aeiou]는 모음 중 하나와 일치합니다. [a-z]는 소문자 중 하나와 일치합니다.
text = "Ruby"
puts text.gsub(/[aeiou]/i, "_")gsub의 블록
gsub에 블록을 전달하면 각 일치 항목을 동적으로 변환할 수 있습니다. 일치한 텍스트가 블록의 인수가 됩니다.
text = "one two"
result = text.gsub(/\w+/) { |w| w.upcase }
puts result대소문자를 구분하지 않는 검색
정규 표현식 뒤에 i 플래그를 추가하면 영문자의 대소문자를 무시합니다.
text = "Hello HELLO hello"
puts text.gsub(/hello/i, "hi")빠른 확인
검색하고 바꾸는 기능을 얼마나 잘 이해했는지 확인해 보십시오.
복습
이제 텍스트를 검색하고 바꿀 수 있습니다.
- 찾기에는
index,include?,match?사용 - 바꾸기에는
sub(첫 번째)와gsub(모든 항목) 사용 - 정규 표현식 패턴, 앵커, 문자 클래스
- 모든 일치 항목을 추출하는
scan과 동적 치환을 위한 블록
다음 주제: 문자열 나누기와 합치기
puts "a,b,c".gsub(",", " | ")자주 묻는 질문
“검색과 치환” 강의는 무료인가요?
네 — “검색과 치환” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ruby Academy 강의 전체를 잠금 해제할 수 있습니다. Ruby Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“검색과 치환”에서 뭘 배우나요?
gsub, sub, match를 알아봅니다 브라우저에서 직접 실행하는 실습 코드로 Ruby Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Ruby Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Ruby Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“검색과 치환” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Ruby Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Ruby Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.