Menu
CoddyTech

חיפוש במחרוזות

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-GDScript של Coddy. שיעור 2 מתוך 78.

האופרטור in אומר לך אם טקסט מופיע במחרוזת. כשצריך יותר מתשובת כן או לא, למחרוזות יש שיטות חיפוש:

  • contains(text) מחזירה true אם הטקסט מופיע במקום כלשהו, כמו in
  • begins_with(text) ו-ends_with(text) בודקות רק את ההתחלה או את הסוף
  • find(text) מחזירה את האינדקס שבו הטקסט מופיע לראשונה, או -1 אם הוא לא מופיע
  • rfind(text) מחזירה את האינדקס של ההופעה האחרונה
  • count(text) מחזירה כמה פעמים הטקסט מופיע
var email := "alice@coddy.tech"
print(email.begins_with("alice"))
print(email.ends_with(".tech"))
print(email.find("@"))
print(email.find("x"))
print(email.count("c"))
true
true
5
-1
3

הפונקציה find() מקבלת ארגומנט שני אופציונלי: האינדקס שבו החיפוש מתחיל. השתמשו בו כדי למצוא את המופע הבא אחרי אחד שכבר מצאתם:

var text := "one fish, two fish"
var first := text.find("fish")
print(first)
print(text.find("fish", first + 1))
4
14

השיטות האלה רגישות לאותיות גדולות וקטנות: "Hello".contains("hello") היא false. תחילה יש להמיר את המחרוזת באמצעות to_lower(), או להשתמש בגרסאות שמתעלמות מההבדל בין אותיות גדולות לקטנות: findn(), containsn() ו-countn().

challenge icon

אתגר

קל

התוכנית קוראת כתובת דוא"ל לתוך email. בדקו שהיא עומדת בכל הכללים הבאים:

  • היא מכילה בדיוק סימן @ אחד
  • היא לא מתחילה ב-@
  • היא לא מכילה רווחים
  • היא מסתיימת ב-.com, ב-.org או ב-.tech, בכל שילוב של אותיות גדולות וקטנות

הדפיסו valid אם כל הכללים מתקיימים, אחרת invalid. עבור הקלט alice@CODDY.TECH, הפלט הוא:

valid

נסו בעצמכם

extends Node

func _ready():
	var email := OS.read_string_from_stdin()
	# הדפס valid או invalid
quiz iconבחנו את עצמכם

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

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

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