Menu
CoddyTech

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), in gibi, metin herhangi bir yerde bulunuyorsa true döndürür
  • begins_with(text) ve ends_with(text) yalnızca başlangıcı veya sonu kontrol eder
  • find(text), metnin ilk kez bulunduğu dizini döndürür; bulunmuyorsa -1 döndürür
  • rfind(text), son bulunduğu dizini döndürür
  • count(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
3

find() 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
14

Bu 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().

challenge icon

Görev

Kolay

Program, 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, .org veya .tech ile biter

Tüm kurallar karşılandığında valid, aksi takdirde invalid yazdır. alice@CODDY.TECH girdisi için çıktı:

valid

Kendin dene

extends Node

func _ready():
	var email := OS.read_string_from_stdin()
	# valid veya invalid yazdı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

Kendi başına pratik yap: Online GDScript derleyicisi