Menu
CoddyTech
flag Ar iconالعربيةdown icon

البحث داخل السلاسل النصية

جزء من قسم المنطق وتدفّق التنفيذ في رحلة 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 عبر الإنترنت