Menu
Coddy logo textTech

string.find()

חלק מהיחידה יסודות במסלול ה-Lua של Coddy. שיעור 48 מתוך 90.

הפונקציה string.find() היא כלי רב־עוצמה לחיפוש בתוך מחרוזות. היא מאפשרת לך לחפש מחרוזת קטנה יותר (שנקראת תבנית) בתוך מחרוזת גדולה יותר ומציינת לך בדיוק היכן היא נמצאה.

הנה התחביר הבסיסי:

string.find(text, pattern)

כאשר string.find() מאתרת בהצלחה את התבנית, היא מחזירה שני מספרים: מיקום ההתחלה ומיקום הסיום של ההתאמה. אם התבנית לא נמצאת, היא מחזירה nil.

הנה דוגמה פשוטה:

local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos)  -- פלט: 5 12

בדוגמה הזאת, המילה "treasure" מתחילה במיקום 5 ומסתיימת במיקום 12 במשפט.

challenge icon

אתגר

קל

צרו גלאי הודעות סודיות שמחפש מילת קוד נסתרת בתוך הודעת טקסט ארוכה יותר. הכריזו על משתנה בשם message והשימו בו את הערך "The ancient treasure lies beneath the old oak tree". השתמשו בפונקציה string.find() כדי לחפש את המילה "treasure" בתוך ההודעה, ושמרו את מיקומי ההתחלה והסיום במשתנים בשם startPos ו-endPos. הדפיסו את שני ערכי המיקומים, כל אחד בשורה נפרדת.

נסו בעצמכם

-- הכריזו על המשתנה message
local message = "The ancient treasure lies beneath the old oak tree"

-- TODO: כתבו כאן את הקוד שלכם כדי למצוא את המילה "treasure" ולשמור את המיקומים

-- הדפיסו את המיקומים
print(startPos)
print(endPos)
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

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