0Pricing
Lua Academy · 강의

변환을 위한 string.gsub

gsub로 패턴을 문자열, 함수 또는 테이블 조회 결과로 바꿉니다.

변환을 위한 string.gsub은(는) CoddyKit의 무료 Lua Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Lua Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Lua Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

string.gsub란 무엇입니까?

string.gsub(s, pattern, repl, n)은 s에서 pattern의 출현 부분을 repl로 바꿉니다. 새 문자열과 치환 횟수를 반환합니다.

간단한 문자열 치환

리터럴 하위 문자열이 나타나는 모든 부분을 바꾸십시오.

local s = "hello world world"
local result, count = s:gsub("world", "Lua")
print(result, count)  -- hello Lua Lua  2

치환 횟수 제한

네 번째 인수를 전달하여 치환 횟수를 제한하십시오.

local s = "aaa bbb aaa"
print(s:gsub("aaa", "xxx", 1))  -- xxx bbb aaa  1

패턴 기반 치환

모든 숫자를 고정된 문자열로 바꾸십시오.

local s = "abc 123 def 456"
print(s:gsub("%d+", "NUM"))  -- abc NUM def NUM  2

함수를 사용한 치환

repl이 함수이면 각 캡처 또는 전체 일치 결과를 인수로 호출되고, 함수의 반환 값이 일치한 부분을 대체합니다.

local s = "price: 100, tax: 15"
local result = s:gsub("%d+", function(n)
  return tostring(tonumber(n) * 1.1)
end)
print(result)  -- price: 110.0, tax: 16.5

표를 사용한 치환

repl이 표이면 각 일치 결과 또는 캡처가 키로 사용되고, 표의 값이 일치한 부분을 대체합니다.

local vars = {name="Alice", lang="Lua"}
local tmpl = "Hello, {name}! Welcome to {lang}."
local result = tmpl:gsub("{(%w+)}", vars)
print(result)  -- Hello, Alice! Welcome to Lua.

공백 제거

gsub를 사용하여 문자열 앞뒤의 공백을 제거하십시오.

local function trim(s)
  return s:gsub("^%s+", ""):gsub("%s+$", "")
end
print("[" .. trim("  hello  ") .. "]")  -- [hello]

대소문자 변환

함수와 함께 gsub를 사용하여 각 문자를 대문자 또는 소문자로 변환하십시오.

local function toUpper(s)
  return s:gsub("%a", string.upper)
end
print(toUpper("hello world"))  -- HELLO WORLD

특수 문자 이스케이프

문자열의 모든 패턴 특수 문자를 이스케이프하여 리터럴 패턴으로 사용할 수 있게 하십시오.

local function escapePat(s)
  return s:gsub("[%(%)%.%%%+%-%*%?%[%^%$]", "%%%1")
end

반환 횟수 활용

두 번째 반환 값인 치환 횟수는 실제로 치환이 발생했는지 확인할 때 유용합니다.

local s = "no numbers here"
local result, n = s:gsub("%d+", "X")
if n == 0 then print("nothing replaced") end

템플릿 엔진 패턴

간단한 템플릿 엔진은 데이터 표의 값으로 {{key}} 자리 표시자를 대체합니다.

local function render(tmpl, data)
  return (tmpl:gsub("{{(%w+)}}", data))
end
print(render("Hi {{name}}!", {name="Bob"}))  -- Hi Bob!

gsub 질문

gsub에서 repl이 함수이면 함수에 무엇이 전달됩니까?

복습: string.gsub

string.gsub는 문자열 변환을 위한 만능 도구입니다. 문자열, 동적 계산을 위한 함수 또는 사전 조회를 위한 표로 치환할 수 있습니다. 치환 횟수도 반환합니다.

자주 묻는 질문

“변환을 위한 string.gsub” 강의는 무료인가요?

네 — “변환을 위한 string.gsub” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Lua Academy 강의 전체를 잠금 해제할 수 있습니다. Lua Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“변환을 위한 string.gsub”에서 뭘 배우나요?

gsub로 패턴을 문자열, 함수 또는 테이블 조회 결과로 바꿉니다. 브라우저에서 직접 실행하는 실습 코드로 Lua Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Lua Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Lua Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“변환을 위한 string.gsub” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Lua Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Lua Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Lua 패턴 구문
  2. 캡처와 string.match
  3. 토큰화를 위한 string.gmatch
  4. 변환을 위한 string.gsub
← Lua Academy(으)로 돌아가기