החלפת תתי־מחרוזות
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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 על התווים; לעבודה יומיומית, אפשר להשתמש בהחלפות משורשרות, שהן גם ברורות לקריאה.
אתגר
מתחיליםקרא שורת קלט אחת. התייחס אליה כאל משפט והפק slug שמתאים לכתובת URL על ידי:
- המרת הקלט לאותיות קטנות
- החלפת כל רווח ב-
- - הסרת כל אחד מהתווים
!,?ו-.
הדפס את ה-slug שהתקבל.
עבור הקלט Hello World!, הפלט הוא hello-world. עבור Is Swift Fun?, הפלט הוא is-swift-fun.
נסו בעצמכם
let line = readLine()!
// TODO: להמיר לאותיות קטנות, להחליף רווחים במקפים, להסיר את התווים ! ? .
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מחרוזות לעומק
ספירה ואינדקסיםאותיות גדולות וקטנות והסרת רווחיםחיפוש במחרוזותפיצול וחיבורהחלפת תתי־מחרוזותסיכום – בדיקת שם משתמשתרגלו בעצמכם: Swift אונליין