Stringlerde Arama
Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 3 / 56.
Bir alt dizginin başka bir dizgi içinde olup olmadığını kontrol etmek için üç hızlı yöntem:
let email = "alice@coddy.tech"
print(email.contains("@")) // doğru
print(email.hasPrefix("alice")) // doğru
print(email.hasSuffix(".tech")) // doğrucontains herhangi bir alt dizeyi alırken, hasPrefix ve hasSuffix yalnızca başlangıca veya sona bakar. Bunların hepsi büyük/küçük harfe duyarlıdır, bu yüzden eğer bu önemliyse önce dizeyi küçük harfe çevirin.
Hızlı bir "eksik" testi için bunları ! ile birleştirin:
if !email.contains("@") {
print("not a valid email")
}Görev
KolayTek bir giriş satırı okuyun. Aşağıdakilerin tamamını kontrol ederek bunu basit bir e-posta olarak doğrulayın:
- Tam olarak bir tane
@içeriyor (karakterler üzerindefilter+countkullanın) @ile başlamıyor veya bitmiyor.tech,.comveya.orgile bitiyor (büyük/küçük harf duyarsız)
Tüm kontroller geçtiğinde valid, aksi takdirde invalid yazdırın. Girişin küçük harfe dönüştürülmüş versiyonuyla karşılaştırma yapın.
alice@CODDY.TECH girişi için çıktı valid olur.
Kopya kağıdı
Bir dizginin bir alt dize içerip içermediğini veya bir alt dizeyle başlayıp bitmediğini kontrol edin:
let email = "alice@coddy.tech"
email.contains("@") // true – dizginin herhangi bir yerinde
email.hasPrefix("alice") // true – başlangıçta
email.hasSuffix(".tech") // true – sondaHer üçü de büyük/küçük harfe duyarlıdır. Gerekirse önce .lowercased() kullanın:
email.lowercased().hasSuffix(".tech")Yokluğu test etmek için ! kullanın:
if !email.contains("@") { print("not a valid email") }Kendin dene
let line = readLine()!
// YAPILACAK: tam olarak bir tane '@' olduğunu, kenarlarda olmadığını ve son ekin [.tech .com .org] içinde olduğunu doğrula
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