Menu
CoddyTech

Busca em Strings

Parte da seção Lógica e fluxo do Journey de GDScript da Coddy. Lição 2 de 78.

O operador in informa se um texto aparece em uma string. Quando você precisa de mais do que sim ou não, as strings têm métodos de busca:

  • contains(text) retorna true se o texto aparecer em qualquer lugar, como in
  • begins_with(text) e ends_with(text) verificam apenas o início ou o fim
  • find(text) retorna o índice em que o texto aparece pela primeira vez, ou -1 se ele não aparecer
  • rfind(text) retorna o índice da última ocorrência
  • count(text) retorna quantas vezes o texto aparece
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() aceita um segundo argumento opcional: o índice onde a busca começa. Use-o para encontrar a próxima ocorrência depois de uma que você já encontrou:

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

Esses métodos diferenciam maiúsculas de minúsculas: "Hello".contains("hello") é false. Converta a string com to_lower() primeiro ou use as versões que ignoram maiúsculas e minúsculas: findn(), containsn() e countn().

challenge icon

Desafio

Fácil

O programa lê um endereço de e-mail em email. Verifique se ele atende a todas estas regras:

  • Contém exatamente um @
  • Não começa com @
  • Não contém espaços
  • Termina com .com, .org ou .tech, em qualquer combinação de letras maiúsculas e minúsculas

Imprima valid quando todas as regras forem atendidas; caso contrário, invalid. Para a entrada alice@CODDY.TECH, a saída é:

valid

Experimente você mesmo

extends Node

func _ready():
	var email := OS.read_string_from_stdin()
	# Imprima válido ou inválido
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e fluxo

Pratique por conta própria: Compilador de GDScript online