Menu
Coddy logo textTech

החלפת תתי־מחרוזות

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Swift של Coddy. שיעור 5 מתוך 56.

replacingOccurrences(of:with:) מחזירה מחרוזת חדשה שבה כל מופע של תת־מחרוזת אחת מוחלף באחרת:

let phone = "555-123-4567"
let digits = phone.replacingOccurrences(of: "-", with: "")
print(digits)              // "5551234567"

בדומה למתודות של האותיות, היא מחזירה String חדש; המקור נשאר ללא שינוי. שרשרו קריאות כשצריך להסיר כמה תבניות:

let messy = "  555-123 4567  "
let clean = messy
    .replacingOccurrences(of: "-", with: "")
    .replacingOccurrences(of: " ", with: "")
print(clean)               // "5551234567"

שתי החלפות פירושן שני מעברים על המחרוזת. בקוד שרגיש לביצועים ועובד עם מחרוזות ענקיות, עדיף להשתמש במעבר יחיד של filter על התווים; לעבודה יומיומית, אפשר להשתמש בהחלפות משורשרות, שהן גם ברורות לקריאה.

challenge icon

אתגר

מתחילים

קרא שורת קלט אחת. התייחס אליה כאל משפט והפק slug שמתאים לכתובת URL על ידי:

  1. המרת הקלט לאותיות קטנות
  2. החלפת כל רווח ב--
  3. הסרת כל אחד מהתווים !, ? ו-.

הדפס את ה-slug שהתקבל.

עבור הקלט Hello World!, הפלט הוא hello-world. עבור Is Swift Fun?, הפלט הוא is-swift-fun.

נסו בעצמכם

let line = readLine()!

// TODO: להמיר לאותיות קטנות, להחליף רווחים במקפים, להסיר את התווים ! ? .
quiz iconבחנו את עצמכם

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

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

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