Menu
Coddy logo textTech

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.

challenge icon

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:

  1. Girdiyi küçük harfe çevirin
  2. Her boşluğu bir - ile değiştirin
  3. 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
quiz iconKendini test et

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