חיפוש והחלפת טקסט

Lua:
חיפוש והחלפת טקסט

איך לעשות:

-- חיפוש והחלפה בסיסיים באמצעות gsub
local original_text = "שוקולד מתוק מאוד מתוק"
local text_to_find = "מתוק"
local replacement = "מר"

local replaced_text = string.gsub(original_text, text_to_find, replacement)
print(replaced_text)  -- תוצאה: שוקולד מתוק מר מר
-- חיפוש עם פטרנים (Patterns)
local pattern_text = "ילד 1, ילדה 2, ילד 3"
local pattern = "ילד(ה?) %d"

local matches = {string.gmatch(pattern_text, pattern)}

for i, match in ipairs(matches) do
   print("מצאתי: " .. match)
end
-- תוצאה:
-- מצאתי: ילד 1
-- מצאתי: ילדה 2
-- מצאתי: ילד 3

עיון יותר עמוק:

הפונקציה gsub בלואה נועדה לבצע החלפות של מחרוזות טקסט והיא מגיעה מהמילה “global substitution”. מבנה הפונקציה הוא: string.gsub(s, pattern, replace, [n]). s היא המחרוזת המקורית, pattern הוא הטקסט או הביטוי שאנחנו מחפשים, replace הוא הטקסט להחלפה, ואופציונלית n מגביל את מספר ההחלפות.

פטרנים בלואה מאפשרים חיפוש יותר מתקדם עם מנגנונים דומים לביטויים רגולריים. למשל, הסימן %d מייצג כל ספרה.

חשוב להבין את המגבלות: ביטויים רגולריים שלמים אינם נתמכים בלואה אלא רק פטרנים מסוימים. למשל, לא תמצאו בלואה + או ? כפי שהם מופיעים בביטויים רגולריים.

ראו גם: