CodeBlanks Logo Icon CodeBlanks

contains ve indexOf

contains ve indexOf ile arama öğrenirsin.

contains ve indexOf

Bir alt dizenin String içinde var olup olmadığını .contains() metodu sorar: "merhaba".contains("haba") sonucu true'dur. Dönüş türü bool'dur; ya true ya false.

Alt dizenin konumunu öğrenmek istersen .indexOf() kullanırsın: "merhaba".indexOf("haba") sonucu 3'tür. Dizin sayımı sıfırdan başlar. Eğer alt dize bulunamazsa .indexOf() -1 döndürür.

Bulunamazsa -1

.indexOf() alt dize bulunamazsa -1 döndürür. Bu değer, bir alt dizenin var olup olmadığını kontrol etmek için sıkça kullanılır: if (email.indexOf("@") != -1) ile bir metnin e-posta olabileceğini kabaca yoklayabilirsin.

Daha okunaklı bir yol, .contains() kullanmaktır: if (email.contains("@")). İki yazım da aynı sonucu verir; .contains() daha nettir. Pratik ilke: yalnızca var/yok soruyorsan .contains(), konum gerekiyorsa .indexOf() kullan.

Uygulama @ dizinini bul

String türünde email değişkeni tanımla ve değeri "ayse@dart.com" olsun. at adında yeni bir değişken tanımla ve email.indexOf("@") sonucunu ata. Sonra print(at); ile yazdır. Çıktı tek satırda 4 olmalı.

Başlangıç kodu

main.dart
// email değişkenini tanımla, indexOf ile @ dizinini at değişkenine ata ve yazdır

Örnek çözüm

main.dart
String email = "ayse@dart.com";
var at = email.indexOf("@");
print(at);

Beklenen çıktı

4

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 "merhaba".contains("haba") sonucu ne olur?

main.dart
"merhaba".contains("haba")
  • true Doğru cevap
  • false
  • 3
  • -1

Açıklama: "haba" alt dizesi "merhaba" içinde var; sonuç true.

2 Metodu işlevine eşle

Kavram Anlamı
contains(x) Var mı (bool)
indexOf(x) İlk dizin (-1 yoksa)
substring(0, 3) Parça alır
.length Karakter sayısı

3 indexOf çağrısını yaz

Soru
String email = "a@b.com";
print(email____);
Cevap
String email = "a@b.com";
print(email.indexOf("@"));

Açıklama: .indexOf("@") @ işaretinin dizinini verir.

Başlangıç bölümündeki tüm dersler