Menu
CoddyTech

Búsqueda en cadenas

Parte de la sección Lógica y flujo del Journey de GDScript de Coddy. Lección 2 de 78.

El operador in te indica si un texto aparece en una cadena. Cuando necesitas algo más que un sí o un no, las cadenas tienen métodos de búsqueda:

  • contains(text) devuelve true si el texto aparece en cualquier parte, como in
  • begins_with(text) y ends_with(text) comprueban solo el principio o el final
  • find(text) devuelve el índice donde aparece el texto por primera vez, o -1 si no aparece
  • rfind(text) devuelve el índice de la última aparición
  • count(text) devuelve cuántas veces aparece el texto
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() acepta un segundo argumento opcional: el índice donde comienza la búsqueda. Úsalo para encontrar la siguiente aparición después de una que ya hayas encontrado:

var text := "one fish, two fish"
var first := text.find("fish")
print(first)
print(text.find("fish", first + 1))
4
14

Estos métodos distinguen entre mayúsculas y minúsculas: "Hello".contains("hello") es false. Convierte primero la cadena con to_lower() o usa las versiones que ignoran las mayúsculas y minúsculas: findn(), containsn() y countn().

challenge icon

Desafío

Fácil

El programa lee una dirección de correo electrónico en email. Comprueba que cumpla todas estas reglas:

  • Contiene exactamente un @
  • No empieza con @
  • No contiene espacios
  • Termina con .com, .org o .tech, en cualquier combinación de mayúsculas y minúsculas

Imprime valid cuando se cumplen todas las reglas; de lo contrario, invalid. Para la entrada alice@CODDY.TECH, la salida es:

valid

Pruébalo tú mismo

extends Node

func _ready():
	var email := OS.read_string_from_stdin()
	# Imprime valid o invalid
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y flujo

Practica por tu cuenta: Compilador de GDScript online