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

تقسيم ودمج النصوص

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

أداتان يوميتان للعمل مع النص المحدَّد الفواصل. كلتاهما تأتيان من Foundation، الذي تم استيراده بالفعل.

components(separatedBy:) تقسّم سلسلة نصية إلى مصفوفة من قيم String عند أي فاصل تمرّره إليها:

let csv = "red,green,blue"
let parts = csv.components(separatedBy: ",")
print(parts)                       // ["red", "green", "blue"]

العكس هو joined(separator:) على أي [String]:

let words = ["swift", "is", "fun"]
let line = words.joined(separator: " ")
print(line)                        // "swift is fun"

ستجمع بينها غالبًا: تقسّمها، وتحولها باستخدام map، ثم تصلها مجددًا. تظل نتيجة map على [String] هي [String] أيضًا، لذا تعمل joined مباشرةً.

challenge icon

التحدي

سهل

اقرأ سطرًا واحدًا من الإدخال: قائمة كلمات مفصولة بفواصل.

اطبع ثلاثة أسطر:

  1. عدد الكلمات بعد التقسيم عند ,
  2. الكلمات بعد إعادة وصلها باستخدام > (مسافة، أكبر من، مسافة)، بأحرف كبيرة
  3. أطول كلمة من القائمة (بعد التقسيم). إذا تعادلت كلمتان، فاستخدم الكلمة التي تظهر first.

بالنسبة إلى الإدخال red,green,blue، يكون الناتج:

3
RED > GREEN > BLUE
green

جرّب بنفسك

let line = readLine()!
let words = line.components(separatedBy: ",")

// TODO: اطبع العدد، الموصولة بأحرف كبيرة مع " > "، أول أطول كلمة
quiz iconاختبر نفسك

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

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

تدرّب بنفسك: Playground لـ Swift