Pesquisando e substituindo texto

Elixir:
Pesquisando e substituindo texto

Como Fazer:

# Para substituir todas as ocorrências de uma string:
original = "Elixir é incrível e fácil de aprender. Elixir agiliza o desenvolvimento."
modified = String.replace(original, "Elixir", "Erlang")

IO.puts modified
# Saída: Erlang é incrível e fácil de aprender. Erlang agiliza o desenvolvimento.

# Para substituir a primeira ocorrência de uma string:
modified_once = String.replace(original, "Elixir", "Erlang", global: false)

IO.puts modified_once
# Saída: Erlang é incrível e fácil de aprender. Elixir agiliza o desenvolvimento.

# Usando expressões regulares:
regex_modified = String.replace(original, ~r/Elixir/, "Erlang")

IO.puts regex_modified
# Saída: Erlang é incrível e fácil de aprender. Erlang agiliza o desenvolvimento.

Aprofundando

A função de busca e substituição não é exclusiva do Elixir; ela existe em diversas linguagens de programação e editores de texto há anos. Nas origens da edição de texto computacional, utilitários como sed no UNIX já permitiam essas operações através da linha de comando. No Elixir, busca e substituição é frequentemente realizada com as funções String.replace/3 e String.replace/4, que são parte do módulo String, ou com expressões regulares usando a sigil ~r/. A primeira opção é boa para substituições diretas, enquanto a segunda é mais poderosa e flexível quando padrões complexos estão envolvidos. Na prática, ao escolher entre strings normais e expressões regulares, pondera-se a simplicidade versus a necessidade de um padrão mais complexo de busca.

Veja Também