lua 스크립트 string.gsub() - 문자열 바꾸기
개발/lua script1 2025. 10. 24. 11:07루아 스크립트에서 문자열을 다루다 보면 특정 단어를 다른 단어로 바꾸거나, 일부 문자를 교체해야 할 때가 있죠?
이럴 때 바로 string.gsub() 함수를 사용하면 됩니다.
이 함수는 “문자열 대체(Replace)” 기능을 담당하고 있어요.
기본 문법
string.gsub(문자열, 패턴, 대체할문자열 [, 대체횟수])
| 인자 | 설명 |
| 자열 | 원본 문자열 |
| 패턴 | 찾을 문자열 또는 패턴 |
| 대체할문자열 | 바꿀 문자열 |
| 대체횟수(선택) | 몇 개만 바꿀지 지정 (생략 시 전부 변경) |
결과값은 (변경된 문자열, 변경된 횟수) 두 가지가 함께 반환됩니다.
예제 1. 단순 문자열 바꾸기
local str = "Hello World!"
local result = string.gsub(str, "World", "Lua")
print(result) -- 출력: Hello Lua!
string.gsub()는 기본적으로 모든 일치 항목을 바꿉니다.
따라서 "abc"가 모두 "xyz"로 변경됩니다.
예제 3. 특정 횟수만 바꾸기
local str = "apple banana apple"
local result = string.gsub(str, "apple", "orange", 1)
print(result) -- 출력: orange banana apple
이번엔 마지막 인자로 1을 넣어서 "apple"을 한 번만 바꿔봤어요.
필요할 때만 일부 문자열을 교체하고 싶을 때 유용합니다.
예제 4. 패턴(정규식) 활용
local str = "a1b2c3"
local result = string.gsub(str, "%d", "X")
print(result) -- 출력: aXbXcX
여기서 %d는 숫자(0~9) 를 의미하는 패턴입니다. 즉, 모든 숫자를 "X"로 바꿉니다.
이처럼 gsub()은 정규식(패턴) 을 지원하므로, 문자열 조작에 매우 강력합니다.
예제 5. 바뀐 횟수 확인하기
local str = "apple apple apple"
local new_str, count = string.gsub(str, "apple", "orange")
print(new_str) -- 출력: orange orange orange
print(count) -- 출력: 3
gsub()은 변경된 문자열뿐 아니라 몇 번 바뀌었는지 개수도 반환합니다.
이 기능은 로그나 데이터 처리 시 꽤 유용하게 쓸 수 있어요
반응형




