String’lerde Arama
Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 2 / 78.
in işleci, bir metnin bir dizgede bulunup bulunmadığını söyler. Evet ya da hayırdan fazlasına ihtiyaç duyduğunda, dizgelerin arama yöntemleri vardır:
contains(text),ingibi, metin herhangi bir yerde bulunuyorsatruedöndürürbegins_with(text)veends_with(text)yalnızca başlangıcı veya sonu kontrol ederfind(text), metnin ilk kez bulunduğu dizini döndürür; bulunmuyorsa-1döndürürrfind(text), son bulunduğu dizini döndürürcount(text), metnin kaç kez bulunduğunu döndürür
var email := "alice@coddy.tech"
print(email.begins_with("alice"))
print(email.ends_with(".tech"))
print(email.find("@"))
print(email.find("x"))
print(email.count("c"))true
true
5
-1
3find() isteğe bağlı ikinci bir argüman alır: aramanın başlayacağı dizin. Daha önce bulduğunuzdan sonraki eşleşmeyi bulmak için kullanın:
var text := "one fish, two fish"
var first := text.find("fish")
print(first)
print(text.find("fish", first + 1))4
14Bu yöntemler büyük/küçük harfe duyarlıdır: "Hello".contains("hello") false değerini döndürür. Önce dizgeyi to_lower() ile dönüştürün veya büyük/küçük harfi yok sayan sürümleri kullanın: findn(), containsn() ve countn().
Görev
KolayProgram, bir e-posta adresini email değişkenine okur. Aşağıdaki kuralların tümünü karşıladığını kontrol et:
- İçinde tam olarak bir
@bulunur @ile başlamaz- İçinde boşluk bulunmaz
- Büyük ve küçük harflerin herhangi bir karışımıyla
.com,.orgveya.techile biter
Tüm kurallar karşılandığında valid, aksi takdirde invalid yazdır. alice@CODDY.TECH girdisi için çıktı:
validKendin dene
extends Node
func _ready():
var email := OS.read_string_from_stdin()
# valid veya invalid 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
1String’leri Derinlemesine İnceleme
String MetotlarıString’lerde AramaDeğiştirme ve KırpmaBölme ve BirleştirmeTekrar: Kullanıcı Adı Kontrolü4Sözlükler Bölüm 2
İç İçe SözlüklerSözlük DizileriSözlükleri BirleştirmeSözlükleri KopyalamaTekrar - Frekans Sayacı10İleri Düzey Fonksiyonlar
Birden Fazla Değer DöndürmeLambda Fonksiyonları Bölüm 1Lambda Fonksiyonları Bölüm 2Tekrar - Lambda ile SıralamaÖzyinelemeli Fonksiyonlar Bölüm 1Özyinelemeli Fonksiyonlar Bölüm 2Tekrar - İç İçe Dizilerin Toplamı13Envanter Yönetim Sistemi
Projeye Genel BakışÜrün Ekle2İleri Düzey Karar Verme
Değişkenlerle EşleştirmeEşleştirme KoşullarıDizi KalıplarıSözlük KalıplarıÜyelik KontrolleriÖzet - Komut Ayrıştırıcı5Rehber Uygulaması
Menüyü GörüntüleKişi Ekle8Öğrenci Kayıt Yöneticisi
Proje Genel BakışıÖğrenci Ekle11Üst Düzey Fonksiyonlar
map Metodufilter Metodureduce Metoduany ve allTekrar - E-posta DoğrulayıcıTekrar - Sayı İşleyici3Çok Boyutlu Diziler
2B Dizilere Giriş2B Dizi Elemanlarına Erişim2B Dizilerle İç İçe DöngülerTekrar - 2B DizilerDüzensiz DizilerYaygın 2B Dizi ÖrüntüleriTekrar - Oyun Tahtası6Sözlüklerle Kümeler
Küme Nedir?Küme Olarak SözlükEkleme ve SilmeBirleşim ve KesişimKüme FarkıTekrar: Yinelenenleri Silme9Gelişmiş Veri Toplama
Değerleri ToplamaEn Küçük ve En Büyük Değeri BulmaÖzel SıralamaÖzet - Sözlük SıralayıcıKendi başına pratik yap: Online GDScript derleyicisi