Dart:
Pesquisando e substituindo texto
Como fazer:
Dart oferece métodos robustos para buscar e substituir texto diretamente por meio de sua classe String
, sem a necessidade de bibliotecas externas. Veja como você pode fazer isso:
Busca e Substituição Básicas
Para buscar uma substring e substituí-la por outra string, você pode usar replaceAll
:
String textoExemplo = "Olá, Dart! Dart é ótimo.";
String textoModificado = textoExemplo.replaceAll("Dart", "Flutter");
print(textoModificado); // Saída: Olá, Flutter! Flutter é ótimo.
Usando Expressões Regulares
Para necessidades de busca e substituição mais complexas, Dart utiliza expressões regulares através da classe RegExp
. Isso permite a correspondência de padrões e substituição em strings:
String textoExemplo = "Dart 2023, Flutter 2023";
String textoModificado = textoExemplo.replaceAll(RegExp(r'\d+'), "2024");
print(textoModificado); // Saída: Dart 2024, Flutter 2024
Este exemplo encontra todas as instâncias de um ou mais dígitos (\d+
) na string e as substitui por “2024”.
Busca Insensível a Maiúsculas e Minúsculas
Para realizar uma busca que não diferencia maiúsculas de minúsculas, você pode modificar o construtor RegExp
para ignorar a diferença:
String textoExemplo = "Bem-vindo ao Dart, a linguagem de programação.";
String textoModificado = textoExemplo.replaceAll(RegExp(r'dart', caseSensitive: false), "Flutter");
print(textoModificado); // Saída: Bem-vindo ao Flutter, a linguagem de programação.
Substituindo com uma Função
Para substituições dinâmicas baseadas na própria correspondência, Dart permite passar uma função para replaceAllMapped
. Esta função pode executar operações ou cálculos nas sequências correspondidas:
String textoExemplo = "Incremente 5 por 1 para obter 6.";
String textoIncrementado = textoExemplo.replaceAllMapped(RegExp(r'\d+'), (Match m) => (int.parse(m[0]!) + 1).toString());
print(textoIncrementado); // Saída: Incremente 6 por 1 para obter 7.
Isso substitui cada sequência de dígitos pelo seu valor incrementado. Cada correspondência é analisada como um inteiro, incrementada e, em seguida, convertida de volta para uma string para substituição.
As capacidades de manipulação de strings do Dart, particularmente para busca e substituição de texto, tornam-no uma ferramenta poderosa para processar e preparar dados dentro de suas aplicações. Seja usando substituições de string diretas ou aproveitando o poder das expressões regulares, Dart oferece a flexibilidade e desempenho necessários para uma manipulação de texto eficaz.