Menu
Coddy logo textTech

החלפה באמצעות string.gsub()

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Lua של Coddy. שיעור 35 מתוך 54.

כשעובדים עם מחרוזות, לעיתים קרובות צריך למצוא טקסט ולהחליף אותו. הפונקציה string.gsub() של Lua מקלה על כך באמצעות החלפה גלובלית: מציאת כל המופעים של תבנית והחלפתם במשהו אחר.

התחביר הבסיסי מקבל שלושה ארגומנטים: המחרוזת המקורית, התבנית לחיפוש וטקסט ההחלפה:

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() מחליפה כברירת מחדל כל מופע, ולכן היא מושלמת למשימות ניקוי טקסט כמו הסרת תווים לא רצויים או האחדת העיצוב.

challenge icon

אתגר

קל

כתבו פונקציה cleanText שמקבלת text ומחזירה גרסה נקייה שבה כל הרווחים מוחלפים בקווים תחתונים.

השתמשו ב־string.gsub() כדי להחליף כל תו רווח בטקסט בתו קו תחתון.

פרמטרים:

  • text (מחרוזת): הטקסט לניקוי

ערך מוחזר: הטקסט שבו כל הרווחים מוחלפים בקווים תחתונים (מחרוזת)

נסו בעצמכם

function cleanText(text)
    -- כתבו כאן קוד
end
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת התוכנית

תרגלו בעצמכם: קומפיילר Lua אונליין