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 giriş satırı okuyun. Bunu bir cümle olarak ele alın ve şu işlemleri uygulayarak URL'ye uygun bir slug oluşturun:
- Girdiyi küçük harfe dönüştürme
- Her boşluğu
-ile değiştirme - Her
!,?ve.karakterini kaldırma
Ortaya çıkan slug'ı yazdırın.
Hello World! girdisi için çıktı hello-world olur. Is Swift Fun? için ise is-swift-fun olur.
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 İstatistikleriKendi başına pratik yap: Swift playground