Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

استبدال النصوص الفرعية

جزء من قسم المنطق والتدفق في رحلة Swift على Coddy — الدرس 5 من 56.

تُعيد replacingOccurrences(of:with:) سلسلة نصية جديدة مع استبدال كل تطابق لسلسلة فرعية بأخرى:

let phone = "555-123-4567"
let digits = phone.replacingOccurrences(of: "-", with: "")
print(digits)              // "5551234567"

مثل طرق الحالة (case methods)، فإنها تعيد String جديداً؛ ويبقى النص الأصلي دون تغيير. قم بتسلسل الاستدعاءات عندما تحتاج إلى إزالة عدة أنماط:

let messy = "  555-123 4567  "
let clean = messy
    .replacingOccurrences(of: "-", with: "")
    .replacingOccurrences(of: " ", with: "")
print(clean)               // "5551234567"

يعني إجراء استبدالين القيام بمرورين على السلسلة النصية. بالنسبة للكود الحساس للأداء على السلاسل النصية الضخمة، يُفضل إجراء تمريرة filter واحدة على الأحرف؛ أما بالنسبة للعمل اليومي، فإن عمليات الاستبدال المتسلسلة جيدة وتُقرأ بوضوح.

challenge icon

التحدي

مبتدئ

اقرأ سطراً واحداً من المدخلات. تعامل معه كجملة وقم بإنتاج slug مناسب لرابط URL عن طريق:

  1. تحويل المدخلات إلى أحرف صغيرة
  2. استبدال كل مسافة بـ -
  3. إزالة كل من الرموز ! و ? و .

اطبع الـ slug الناتج.

بالنسبة للمدخل Hello World!، يكون المخرج hello-world. وبالنسبة لـ Is Swift Fun?، يكون المخرج is-swift-fun.

ورقة مرجعية

replacingOccurrences(of:with:) تُرجع سلسلة نصية جديدة مع استبدال كل تطابق:

let digits = "555-123-4567".replacingOccurrences(of: "-", with: "")
// "5551234567"

استخدم استدعاءات متسلسلة للتعامل مع أنماط متعددة:

let clean = "555-123 4567"
    .replacingOccurrences(of: "-", with: "")
    .replacingOccurrences(of: " ", with: "")

جرّب بنفسك

let line = readLine()!

// TODO: تحويل الأحرف إلى صغيرة، استبدال المسافات بواصلات، حذف الرموز ! ? .
quiz iconاختبر نفسك

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

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