Menu
CoddyTech

החלפה והסרת רווחים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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(" ", "_").

challenge icon

אתגר

קל

התוכנית קוראת כותרת של שלב לתוך title. הפכו אותה לslug, גרסה של הכותרת שאפשר להשתמש בה כשם קובץ, והדפיסו אותה. לפי הסדר הזה:

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

עבור הקלט Is Godot Fun? (עם רווחים מסביב), הפלט הוא:

is-godot-fun

נסו בעצמכם

extends Node

func _ready():
	var title := OS.read_string_from_stdin()
	# צרו את ה-slug והדפיסו אותו
quiz iconבחנו את עצמכם

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

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

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