החלפה והסרת רווחים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-GDScript של Coddy. שיעור 3 מתוך 78.
replace(what, with) מחזירה מחרוזת חדשה שבה כל הופעה של what מוחלפת ב-with. החלפה במחרוזת ריקה מסירה את הטקסט:
var phone := "555-123-4567"
print(phone.replace("-", ""))
print(phone.replace("-", " "))
print(phone)5551234567
555 123 4567
555-123-4567המחרוזת המקורית אינה משתנה. replace() מבחינה בין אותיות גדולות לקטנות; replacen() עושה את אותו הדבר ומתעלמת מההבדל בין אותיות גדולות לקטנות:
var chat := "Hello hello HELLO"
print(chat.replace("hello", "hi"))
print(chat.replacen("hello", "hi"))Hello hi HELLO
hi hi hiלטקסט שמשתמש מקליד יש לעיתים קרובות רווחים מיותרים מסביבו. strip_edges() מסירה רווחים, טאבים ושבירות שורה משני הקצוות ומשאירה את אלה שבאמצע:
var typed := " Ana Lee "
print("[" + typed.strip_edges() + "]")[Ana Lee]strip_edges(true, false) מסירה רווחים רק מהקצה השמאלי ו־strip_edges(false, true) רק מהקצה הימני. כדי להסיר טקסט מסוים מקצה אחד, השתמשו ב־trim_prefix() או ב־trim_suffix(). הן לא משנות דבר כשהטקסט אינו מופיע שם:
print("level_03.tscn".trim_suffix(".tscn"))
print("level_03.tscn".trim_suffix(".png"))level_03
level_03.tscnכל אחת מהשיטות האלה מחזירה מחרוזת, כך שאפשר לשרשר אותן: raw.strip_edges().to_lower().replace(" ", "_").
אתגר
קלהתוכנית קוראת כותרת של שלב לתוך title. הפכו אותה לslug, גרסה של הכותרת שאפשר להשתמש בה כשם קובץ, והדפיסו אותה. לפי הסדר הזה:
- הסירו את הרווחים משני הקצוות
- המירו אותה לאותיות קטנות
- החליפו כל רווח שנותר ב־
- - הסירו כל
!,?ו־.
עבור הקלט Is Godot Fun? (עם רווחים מסביב), הפלט הוא:
is-godot-funנסו בעצמכם
extends Node
func _ready():
var title := OS.read_string_from_stdin()
# צרו את ה-slug והדפיסו אותו
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
2קבלת החלטות מתקדמת
התאמה עם משתניםתנאי סף להתאמהתבניות מערכיםתבניות מילוניםבדיקות חברותסיכום – מנתח פקודות5אפליקציית ספר אנשי קשר
הצגת התפריטהוספת איש קשר8מנהל רשומות תלמידים
סקירת הפרויקטהוספת תלמידתרגלו בעצמכם: קומפיילר GDScript אונליין