איטרציה על מחרוזות חלק 2
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 77 מתוך 93.
מעבר לאיטרציה בסיסית, מחרוזות מציעות כמה שיטות שימושיות ליצירת מחרוזות חדשות ממחרוזות קיימות. משימה נפוצה היא לשנות תווים תוך כדי איטרציה ולאסוף את התוצאות.
אפשר לבנות מחרוזת חדשה על ידי הוספת תווים ל־StringBuilder או פשוט לשרשר למשתנה מחרוזת:
val original = "hello"
var result = ""
for (char in original) {
result += char.uppercaseChar()
}
println(result) // HELLOהמתודה uppercaseChar() ממירה תו יחיד לאות גדולה, ואילו lowercaseChar() עושה את ההפך. הן פועלות על ערכי Char בודדים, בניגוד ל־uppercase(), שפועלת על מחרוזות שלמות.
טכניקה שימושית נוספת היא סינון תווים תוך כדי איטרציה. לדוגמה, חילוץ ספרות בלבד ממחרוזת מעורבת:
val mixed = "a1b2c3"
var digits = ""
for (char in mixed) {
if (char.isDigit()) {
digits += char
}
}
println(digits) // 123Kotlin מספקת שיטות שימושיות לבדיקת תווים, כמו isDigit(), isLetter() ו-isWhitespace(), שמחזירות true או false בהתאם לסוג התו. כך קל לסנן תווים או לסווג אותם במהלך איטרציה.
אתגר
בינוניכתבו פונקציה extractLetters שמקבלת מחרוזת text ומחזירה מחרוזת חדשה שמכילה רק את האותיות, כשהן מומרות לאותיות גדולות.
עברו על כל תו, סננו תווים שאינם אותיות והמירו את התווים הנותרים לאותיות גדולות.
פרמטרים:
text(String): מחרוזת שעשויה להכיל אותיות, ספרות, רווחים ותווים מיוחדים
ערך מוחזר: מחרוזת שמכילה רק את האותיות מהקלט, כשהן מומרות לאותיות גדולות (String)
נסו בעצמכם
fun extractLetters(text: String): String {
// כתבו כאן קוד
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסיים
פונקציית Printlnתבניות מחרוזתקלט באמצעות ReadLineהמרת טיפוסיםסיכום – שנים עד הפרישהסיכום – אמת או שקר10פונקציות
הכרזה על פונקציהפרמטרים וארגומנטיםערכי החזרהארגומנטים בעלי שםערכי ברירת מחדלפונקציות עם ביטוי יחידחזרה – פונקציית Sigmaחזרה – פונקציית אימות13איטרציה על רצפים
איטרציה על איבריםמתודת WithIndexאיטרציה על מחרוזות חלק 1איטרציה על מחרוזות חלק 2סיכום - אותיות עם אינדקסים3אפשרות לערך null
מהי בטיחות מפני nullטיפוסים שיכולים להיות nullאופרטור קריאה בטוחהאופרטור אלביסיסודות אתגר הפונקציותאופרטור ההבטחה לאי־nullסיכום – גישה בטוחה9לולאות
לולאת forלולאת whileלולאת do-whilebreakcontinueטווחים בלולאותלולאה מקוננתחזרה – עצרתחזרה – קלט דינמיתרגלו בעצמכם: Kotlin אונליין