Bölme ve Birleştirme
Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 4 / 56.
Sınırlayıcılarla ayrılmış metinlerle çalışmak için iki günlük araç. Her ikisi de zaten içe aktarılmış olan Foundation içinden gelir.
components(separatedBy:), bir dizeyi, sağladığınız ayırıcıya göre String dizelerinden oluşan bir diziye böler:
let csv = "red,green,blue"
let parts = csv.components(separatedBy: ",")
print(parts) // ["red", "green", "blue"]Tersi, herhangi bir [String] üzerinde joined(separator:) kullanmaktır:
let words = ["swift", "is", "fun"]
let line = words.joined(separator: " ")
print(line) // "swift is fun"Bunları sık sık birleştireceksin: ayır, map ile dönüştür, tekrar birleştir. map işleminin bir [String] üzerindeki sonucu hâlâ bir [String] olduğundan, joined doğrudan çalışır.
Görev
KolayTek bir giriş satırı okuyun: virgülle ayrılmış sözcüklerden oluşan bir liste.
Üç satır yazdırın:
,kullanılarak bölündükten sonraki sözcük sayısı>(boşluk, büyüktür işareti, boşluk) kullanılarak yeniden birleştirilen sözcükler, büyük harfle- Listedeki en uzun sözcük (bölme işleminden sonra). İki sözcük eşit uzunluktaysa, ilk görüneni kullanın.
red,green,blue girdisi için çıktı şöyledir:
3
RED > GREEN > BLUE
greenKendin dene
let line = readLine()!
let words = line.components(separatedBy: ",")
// TODO: sayıyı yazdır, " > " ile birleştirilmiş büyük harfli, ilk en uzun kelime
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Stringler Derinlemesine
Sayma ve İndekslerBüyük-Küçük Harf ve KırpmaStringlerde AramaBölme ve BirleştirmeAlt Stringleri DeğiştirmeÖzet - Kullanıcı Adı Kontrolü4Kümeler
Küme OluşturmaBirleşim ve KesişimFark ve Simetrik FarkAlt Küme ve Üst KümeÖzet - Etiket Filtresi7Proje - Alışkanlık Takibi
Projeye Genel BakışTamamlandı Olarak İşaretle10Proje - Quiz Motoru
Projeye Genel BakışSoruları Sorma2Aralıklar ve Adımlar
Kapalı ve Yarı AçıkStride (Adım)Aralık MetotlarıSwitch İçinde AralıklarÖzet - Takvim Izgarası5Yüksek Mertebeden Fonksiyonlar Bölüm 1
MapFilterReduceMap, filter, reduce zincirlemeÖzet - Kelime İstatistikleriKendi başına pratik yap: Swift playground