치환을 위한 string.gsub()
Coddy Lua 여정의 Logic & Flow 섹션에 포함된 레슨 — 54개 중 35번째.
문자열을 다룰 때, 텍스트를 찾아 바꾸어야 하는 경우가 자주 있습니다. Lua의 string.gsub() 함수는 패턴의 모든 일치 항목을 찾아 다른 것으로 교체하는 전역 치환(global substitution)을 수행하여 이 작업을 쉽게 만들어 줍니다.
기본 구문은 세 개의 인수를 취합니다: 원본 문자열, 찾을 패턴, 그리고 교체할 텍스트:
local result = string.gsub(originalString, pattern, replacement)모든 공백을 밑줄(_)로 바꾸는 간단한 예제입니다:
local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned) -- 출력: hello_world_from_lua이 함수는 수정된 문자열과 수행된 교체 횟수라는 두 가지 값을 반환합니다. 필요한 경우 두 값을 모두 캡처할 수 있습니다:
local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result) -- 출력: baz bar baz
print(count) -- 출력: 2첫 번째 일치 항목만 찾는 일부 문자열 함수와 달리, string.gsub()는 기본적으로 모든 일치 항목을 대체하므로 원치 않는 문자를 제거하거나 형식을 표준화하는 것과 같은 텍스트 정리 작업에 적합합니다.
챌린지
쉬움text를 받아 모든 공백을 언더스코어로 바꾼 정제된 버전을 반환하는 cleanText 함수를 작성하세요.
string.gsub()를 사용하여 텍스트의 모든 공백 문자를 언더스코어 문자로 교체하세요.
매개변수:
text(string): 정제할 텍스트
반환값: 모든 공백이 언더스코어로 교체된 텍스트 (string)
치트 시트
string.gsub() 함수는 패턴의 모든 발생을 찾아 교체함으로써 전역 치환을 수행합니다:
local result = string.gsub(originalString, pattern, replacement)공백을 밑줄로 바꾸는 예시입니다:
local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned) -- 출력: hello_world_from_lua이 함수는 수정된 문자열과 수행된 치환 횟수라는 두 가지 값을 반환합니다:
local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result) -- 출력: baz bar baz
print(count) -- 출력: 2string.gsub()는 첫 번째 일치 항목뿐만 아니라 기본적으로 모든 발생 항목을 교체합니다.
직접 해보기
function cleanText(text)
-- 여기에 코드를 작성하세요
end
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.