Alt Stringleri Değiştirme
Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 5 / 56.
replacingOccurrences(of:with:) bir alt dizginin her eşleşmesini bir diğeriyle değiştirerek yeni bir dizgi döndürür:
let phone = "555-123-4567"
let digits = phone.replacingOccurrences(of: "-", with: "")
print(digits) // "5551234567"Büyük/küçük harf metotlarında olduğu gibi, yeni bir String döndürür; orijinali değişmeden kalır. Birkaç deseni kaldırmanız gerektiğinde çağrıları zincirleyin:
let messy = " 555-123 4567 "
let clean = messy
.replacingOccurrences(of: "-", with: "")
.replacingOccurrences(of: " ", with: "")
print(clean) // "5551234567"İki değiştirme işlemi, dize üzerinde iki geçiş yapılması anlamına gelir. Büyük dizelerdeki performans duyarlı kodlar için, karakterler üzerinde tek bir filter geçişini tercih edin; günlük işler için zincirleme değiştirmeler uygundur ve net bir şekilde okunur.
Görev
BaşlangıçTek bir girdi satırı okuyun. Bunu bir cümle olarak ele alın ve aşağıdakileri yaparak bir URL için uygun bir slug oluşturun:
- Girdiyi küçük harfe çevirin
- Her boşluğu bir
-ile değiştirin - Her
!,?ve.karakterini kaldırın
Sonuç slug'ını yazdırın.
Hello World! girdisi için çıktı hello-world şeklindedir. Is Swift Fun? için çıktı is-swift-fun şeklindedir.
Kopya kağıdı
replacingOccurrences(of:with:) her eşleşmenin değiştirildiği yeni bir dize döndürür:
let digits = "555-123-4567".replacingOccurrences(of: "-", with: "")
// "5551234567"Birden fazla deseni işlemek için çağrıları zincirleyin:
let clean = "555-123 4567"
.replacingOccurrences(of: "-", with: "")
.replacingOccurrences(of: " ", with: "")Kendin dene
let line = readLine()!
// TODO: küçük harfe çevir, boşlukları tirelerle değiştir, ! ? . karakterlerini kaldır
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 İstatistikleri