0Pricing
Ruby Academy · Aula

Pesquisa e substituição

gsub, sub, match.

Pesquisa e substituição é uma aula grátis de Ruby Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ruby Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ruby Academy inclui 4 aulas no total.

Encontrando uma Subcadeia

O método index retorna a posição da primeira correspondência ou nil se ela não for encontrada. include? retorna verdadeiro ou falso.

text = "hello world"
puts text.index("world")
puts text.include?("world")

Substituindo a Primeira Correspondência com sub

sub substitui apenas a primeira ocorrência de um padrão por um novo valor.

text = "cat cat cat"
puts text.sub("cat", "dog")

Substituindo Todas as Correspondências com gsub

gsub significa substituição global. Ele substitui todas as ocorrências.

text = "cat cat cat"
puts text.gsub("cat", "dog")

Usando Expressões Regulares

Padrões entre barras, como /.../, são expressões regulares. /\d/ corresponde a um dígito. gsub e sub aceitam padrões de expressões regulares.

text = "a1b2c3"
puts text.gsub(/\d/, "*")

Verificando Correspondências

match? retorna verdadeiro se uma expressão regular corresponder a qualquer parte da cadeia de caracteres. É uma forma rápida e clara de fazer verificações.

email = "ada@ruby.org"
puts email.match?(/@/)
puts "no at sign".match?(/@/)

Capturando com match

match retorna um objeto MatchData. O índice [0] corresponde à correspondência inteira; os parênteses criam grupos de captura acessados por [1], [2] e assim por diante.

data = "2024-05-30"
m = data.match(/(\d+)-(\d+)-(\d+)/)
puts m[1]
puts m[2]

scan para Todas as Correspondências

scan retorna uma lista com todas as correspondências na cadeia de caracteres. É perfeito para extrair todos os números ou todas as palavras.

text = "phone 555 and 777"
puts text.scan(/\d+/).inspect

Âncoras

As âncoras fixam uma correspondência a uma posição. ^ significa início da linha, e $ significa fim. \A e \z fixam a correspondência às extremidades da cadeia de caracteres inteira.

puts "hello".match?(/^hel/)
puts "hello".match?(/llo$/)
puts "hello".match?(/^world/)

Classes de Caracteres

Os colchetes definem um conjunto de caracteres permitidos. [aeiou] corresponde a qualquer vogal. [a-z] corresponde a qualquer letra minúscula.

text = "Ruby"
puts text.gsub(/[aeiou]/i, "_")

Blocos em gsub

Passe um bloco para gsub a fim de transformar cada correspondência dinamicamente. O texto correspondente é o argumento do bloco.

text = "one two"
result = text.gsub(/\w+/) { |w| w.upcase }
puts result

Pesquisa sem Distinção entre Maiúsculas e Minúsculas

A flag i depois de uma expressão regular faz com que ela ignore a diferença entre maiúsculas e minúsculas.

text = "Hello HELLO hello"
puts text.gsub(/hello/i, "hi")

Verificação rápida

Verifique suas habilidades de pesquisa e substituição.

Recapitulação

Agora você consegue pesquisar e substituir texto:

  • index, include?, match? para encontrar
  • sub (primeira) e gsub (todas) para substituir
  • padrões de expressões regulares, âncoras e classes de caracteres
  • scan para extrair todas as correspondências e blocos para substituições dinâmicas

Próximo: dividir e juntar cadeias de caracteres.

puts "a,b,c".gsub(",", " | ")

Perguntas Frequentes

A aula “Pesquisa e substituição” é grátis?

Sim — o texto completo de “Pesquisa e substituição” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ruby Academy, atualize para CoddyKit PRO. O curso de Ruby Academy inclui 4 aulas no total.

O que vou aprender em “Pesquisa e substituição”?

gsub, sub, match. Você pratica Ruby Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Ruby Academy?

Nenhuma experiência prévia é necessária. Ruby Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Pesquisa e substituição”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Ruby Academy?

Sim. Cada aula de Ruby Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos e métodos de strings
  2. Interpolação e formatação
  3. Pesquisa e substituição
  4. Divisão e junção
← Voltar para Ruby Academy