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

حالة الأحرف وإزالة الفراغات

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

تُعيد دوال حالة الأحرف (case methods) سلاسل نصية جديدة، فهي لا تعدل السلسلة الأصلية. استخدمها على النصوص التي تأتي من المستخدم قبل مقارنتها.

let raw = "  Hello World  "
print(raw.uppercased())          // "  HELLO WORLD  "
print(raw.lowercased())          // "  hello world  "

لإزالة المسافات البيضاء في البداية والنهاية، استخدم trimmingCharacters(in:) من Foundation (المستوردة بالفعل على هذه المنصة):

let cleaned = raw.trimmingCharacters(in: .whitespaces)
print(cleaned)                   // "Hello World"
print(cleaned.count)             // 11

.whitespaces تغطي المسافات وعلامات الجدولة. استخدم .whitespacesAndNewlines عندما قد يحتوي الإدخال على \n في نهايته.

challenge icon

التحدي

مبتدئ

اقرأ سطرين من المدخلات. عاملهما كسلستين نصيتين للمقارنة دون مراعاة حالة الأحرف، مع تجاهل المسافات البيضاء المحيطة. اطبع:

  1. match عندما تكون النسخ المنظفة والمحولة لحالة الأحرف الصغيرة متساوية، وإلا differ
  2. النسخة المنظفة (المقلمة) من السطر الأول بحالة الأحرف الكبيرة

بالنسبة للمدخلات Hello World في السطر الأول و HELLO world في السطر الثاني، يكون المخرج هو:

match
HELLO WORLD

ورقة مرجعية

تُرجع طرق حالة الأحرف للسلاسل النصية سلاسل جديدة (الأصلية لا تتغير):

str.uppercased()   // "hello" → "HELLO"
str.lowercased()   // "HELLO" → "hello"

قم بإزالة المسافات البيضاء البادئة/اللاحقة باستخدام trimmingCharacters(in:):

let cleaned = raw.trimmingCharacters(in: .whitespaces)         // المسافات وعلامات التبويب
let cleaned = raw.trimmingCharacters(in: .whitespacesAndNewlines) // يتضمن \n

جرّب بنفسك

let a = readLine()!
let b = readLine()!

// TODO: إزالة المسافات الزائدة + تحويل للأحرف الصغيرة للمقارنة؛ طباعة match/differ ثم طباعة a بعد إزالة المسافات وتحويلها للأحرف الكبيرة
quiz iconاختبر نفسك

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

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