Büyük-Küçük Harf ve Kırpma
Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 2 / 56.
Büyük/küçük harf yöntemleri yeni dizeler döndürür, orijinali değiştirmezler. Karşılaştırma yapmadan önce kullanıcıdan gelen metinlerde bu yöntemleri kullanın.
let raw = " Hello World "
print(raw.uppercased()) // " HELLO WORLD "
print(raw.lowercased()) // " hello world "Baştaki ve sondaki boşlukları temizlemek için, Foundation (bu platformda zaten içe aktarılmıştır) kütüphanesinden trimmingCharacters(in:) metodunu kullanın:
let cleaned = raw.trimmingCharacters(in: .whitespaces)
print(cleaned) // "Hello World"
print(cleaned.count) // 11.whitespaces boşlukları ve sekmeleri kapsar. Girişin sonunda bir \n bulunabileceği durumlarda .whitespacesAndNewlines kullanın.
Görev
Başlangıçİki satır girdi okuyun. Bunları, büyük/küçük harf duyarsız ve çevreleyen boşlukları yok sayarak karşılaştırmak üzere dize olarak ele alın. Şunları yazdırın:
- Temizlenmiş ve küçük harfe dönüştürülmüş halleri eşit olduğunda
match, aksi takdirdediffer - İlk satırın temizlenmiş (kırpılmış) halini büyük harf olarak
İlk satırda Hello World ve ikinci satırda HELLO world girdisi için çıktı şöyledir:
match
HELLO WORLDKopya kağıdı
String büyük/küçük harf metotları yeni dizeler döndürür (orijinali değişmez):
str.uppercased() // "hello" → "HELLO"
str.lowercased() // "HELLO" → "hello"Baştaki/sondaki boşlukları trimmingCharacters(in:) ile temizleyin:
let cleaned = raw.trimmingCharacters(in: .whitespaces) // boşluklar ve sekmeler
let cleaned = raw.trimmingCharacters(in: .whitespacesAndNewlines) // \n içerirKendin dene
let a = readLine()!
let b = readLine()!
// YAPILACAK: karşılaştırmak için kırp + küçük harfe çevir; eşleşme/farklılık durumunu yazdır, ardından a'nın kırpılmış-büyük harfli halini yazdı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