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 resultPesquisa 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 encontrarsub(primeira) egsub(todas) para substituir- padrões de expressões regulares, âncoras e classes de caracteres
scanpara 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
- Fundamentos e métodos de strings
- Interpolação e formatação
- Pesquisa e substituição
- Divisão e junção