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

الاستبدال وإزالة المسافات الطرفية

جزء من قسم المنطق وتدفّق التنفيذ في رحلة 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()
	# أنشئ المعرّف النصي واطبعه
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفّق التنفيذ

تدرّب بنفسك: مترجم GDScript عبر الإنترنت