Menu
Coddy logo textTech

איטרציה על מחרוזות חלק 2

חלק מהיחידה יסודות במסלול ה-Swift של Coddy. שיעור 72 מתוך 86.

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

let word = "Swift"

for (index, char) in word.enumerated() {
    print("\(index): \(char)")
}
// 0: S
// 1: w
// 2: i
// 3: f
// 4: t

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

let text = "abcdef"
var result = ""

for (index, char) in text.enumerated() {
    if index % 2 == 0 {
        result += String(char)
    }
}

print(result)  // ace

שימו לב שאנחנו ממירים char ל־String באמצעות String(char) לפני שמוסיפים אותו. זה נחוץ מכיוון ש־result הוא String, ואי אפשר להוסיף אליו ישירות Character באמצעות האופרטור +=.

challenge icon

אתגר

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

השתמש ב־enumerated() כדי לעבור על המחרוזת ולבנות תוצאה שמכילה את התווים שהאינדקס שלהם אי־זוגי (1, 3, 5 וכן הלאה).

פרמטרים:

  • text (String): מחרוזת הקלט לעיבוד

ערך מוחזר: מחרוזת שמכילה רק את התווים שבאינדקסים אי־זוגיים (String)

דוגמה: אם text הוא "abcdefg", הפונקציה צריכה להחזיר "bdf" (התווים באינדקסים 1, 3 ו־5).

נסו בעצמכם

func extractOddIndexChars(text: String) -> String {
    // כתבו כאן קוד
}
quiz iconבחנו את עצמכם

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

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

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