← Back to Lua Course | Chapter 3: Strings | Lesson 6 of 7

gsub से Text बदलना

gsub एक pattern के हर match को replace करता है और बताता है कि इसने कितने replacements किए।

gsub से Text Replace करना

string.gsub(s, pattern, repl, n) नई string और replacements की संख्या return करता है। Replacement एक string हो सकता है, जहाँ %1 पहली capture refer करता है, एक lookup की तरह इस्तेमाल होने वाला एक table, या हर match के लिए called एक function। Optional चौथा argument replacements की संख्या limit करता है।

Note: सिर्फ string रखने के लिए call को parentheses में wrap करें, जैसे (s:gsub(a, b))।

उदाहरण: Replacing text with gsub

lua
local s = "hello world"
print(s:gsub("o", "0"))
print((s:gsub("(%w+)", "<%1>")))
print(s:gsub("%w+", string.upper, 1))
print(("$name is $age"):gsub("%$(%w+)", {name = "Ann", age = 30}))
print(("  trim me  "):gsub("^%s+", ""):gsub("%s+$", ""))

-- Output:
-- hell0 w0rld	2
-- <hello> <world>
-- HELLO world	1
-- Ann is 30	2
-- trim me	1
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. यह भूल जाना कि gsub दो values return करता है
  2. captures के लिए %1 की बजाय $1 इस्तेमाल करना
  3. यह उम्मीद करना कि gsub original string बदल देगा
चैप्टर सारांश
  • gsub string और एक count return करता है
  • %1 एक capture refer करता है
  • Replacement एक table या function हो सकता है
  • Original string unchanged रहती है

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.