Localizar e substituir múltiplo
Troque ACME Corp por Nova Labs, ACME por Nova e o endereço de suporte de uma vez: 3 pares, 3 trocas, aplicados na ordem da sua lista. Coloque as frases longas primeiro; são até 100 pares, e cada correspondência é literal. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Editores, equipes de localização e pipelines de automação costumam precisar de mais do que um único localizar e substituir: uma mudança de marca, um pacote de glossário e um conjunto de tokens de modelo devem cair em um único passe coerente. Um sinalizador opcional sem diferenciação de maiúsculas cobre rascunhos mistos para que Hello e HELLO mudem sem listar variantes. Termos de busca vazios em qualquer par falham com entrada inválida, para que trabalhos em massa nunca executem um no-op silencioso.
O que significa localizar e substituir múltiplo e quando usar
Localizar e substituir múltiplo significa percorrer uma lista ordenada de termos de busca e gravar uma substituição em cada ocorrência não sobreposta de cada termo, depois alimentar a string editada no próximo par até o fim da lista. A correspondência é literal: pontos, colchetes e outros metacaracteres de expressão regular são texto simples, para que pacotes de glossário permaneçam previsíveis para não desenvolvedores e para pipelines que não podem se surpreender com caracteres especiais.
Prefira esta calculadora quando a intenção de busca for localizar e substituir múltiplo, substituições em massa, aplicar vários pares de substituição, reescrita de pacote terminológico ou preencher muitos tokens de modelo em um único passe. Fontes típicas incluem textos de marketing que renomeiam uma família de produtos, macros de suporte que atualizam várias URLs de uma vez, folhas de estilo de localização que trocam uma dúzia de frases proibidas e trechos de configuração em que marcadores como company, year e plan se resolvem juntos.
A ordem dos pares é intencional: reescreva frases longas antes de substrings curtas para que ACME Corp vire Nova Labs antes de uma regra ACME para Nova posterior, evitando corte parcial. A correspondência opcional sem maiúsculas dobra o caso da letra em cada par para que um único pacote cubra rascunhos mistos. Não use este produto se precisar de grupos de captura, lookarounds ou um motor regex multilinha completo — essa é outra intenção atendida por ferramentas de regex.
Existe uma landing de um único par para um termo; esta página é o fluxo multi-par.
Casos de uso
Pacotes de marca e terminologia
Aplique um glossário de nomes de produto antigos, entidades legais e formas curtas em um passe ordenado para que frases longas sejam reescritas antes de substrings curtas e cada documento receba o mesmo conjunto terminológico.
Perguntas frequentes
O que acontece se um termo de busca estiver vazio?
Um find vazio em qualquer par é rejeitado para que pipelines nunca executem um no-op silencioso nem o clássico pé de arma de substituir a string vazia em todo lugar; essas falhas não são cobradas.
Em que ordem os pares são aplicados?
Estritamente sequencial: o primeiro par edita o texto original, o segundo edita esse resultado, e assim por diante. Pares posteriores podem reescrever texto introduzido por substituições anteriores — liste frases longas antes das curtas quando a ordem importar.
A ferramenta de localizar e substituir múltiplo é gratuita?
A ferramenta do navegador roda grátis no seu dispositivo.
O find suporta expressões regulares?
Não. Cada termo de busca é sempre tratado como string literal. Pontos, colchetes e outros metacaracteres de regex correspondem a si mesmos para que pacotes de glossário permaneçam previsíveis para editores e trabalhos em massa.
Quantos pares posso aplicar de uma vez?
Até 100 pares em uma única passada. Cada par informa quantas vezes foi aplicado e o total de trocas também aparece, assim você confere qual item do glossário agiu e qual não encontrou nada.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/str/replace-multiple \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello ACME Corp. Welcome to ACME. Contact support@acme.example.","replacements":[{"find":"ACME Corp","replace":"Nova Labs"},{"find":"ACME","replace":"Nova"},{"find":"support@acme.example","replace":"hello@nova.example"}]}'const res = await fetch("https://api.kit.forhosting.com/str/replace-multiple", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello ACME Corp. Welcome to ACME. Contact support@acme.example.",
"replacements": [
{
"find": "ACME Corp",
"replace": "Nova Labs"
},
{
"find": "ACME",
"replace": "Nova"
},
{
"find": "support@acme.example",
"replace": "hello@nova.example"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/replace-multiple",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello ACME Corp. Welcome to ACME. Contact support@acme.example.",
"replacements": [
{
"find": "ACME Corp",
"replace": "Nova Labs"
},
{
"find": "ACME",
"replace": "Nova"
},
{
"find": "support@acme.example",
"replace": "hello@nova.example"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/replace-multiple", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello ACME Corp. Welcome to ACME. Contact support@acme.example.","replacements":[{"find":"ACME Corp","replace":"Nova Labs"},{"find":"ACME","replace":"Nova"},{"find":"support@acme.example","replace":"hello@nova.example"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello ACME Corp. Welcome to ACME. Contact support@acme.example.","replacements":[{"find":"ACME Corp","replace":"Nova Labs"},{"find":"ACME","replace":"Nova"},{"find":"support@acme.example","replace":"hello@nova.example"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/replace-multiple", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Hello ACME Corp. Welcome to ACME. Contact support@acme.example.",
"replacements": [
{
"find": "ACME Corp",
"replace": "Nova Labs"
},
{
"find": "ACME",
"replace": "Nova"
},
{
"find": "support@acme.example",
"replace": "hello@nova.example"
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.replace_multiple",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Esta ferramenta de localizar e substituir múltiplo recebe sua string de origem mais uma lista ordenada de pares encontrar/substituir, aplica cada par em sequência com correspondência literal e devolve um contrato JSON estável com o texto final, contagens de ocorrências por par e o total de substituições.
O que significa localizar e substituir múltiplo e quando usar
Uma string find vazia em qualquer par lança invalid_input, o que protege trabalhos em massa do clássico pé de arma de substituir a string vazia em todo lugar.
Contrato de entrada, pares ordenados e leitura da resposta
Se replace estiver ausente, usa-se a string vazia, que apaga cada ocorrência daquele par. Dentro de cada par, find também aceita search, needle, from ou old; replace aceita replacement, with, to ou new. No máximo cem pares são aceitos em uma única solicitação. Envie um corpo JSON com o campo de string obrigatório text igual à origem que você deseja editar e o campo de array obrigatório replacements com pelo menos um objeto que tenha uma string find não vazia e uma string replace opcional. O opcional case_insensitive vale false por padrão para maiúsculas exatas; defina true quando rascunhos mistos ainda devam corresponder em todos os pares. Aliases são aceitos para clientes antigos: text também como input, value, s, content ou source; replacements como pairs, rules ou substitutions; case_insensitive como ignore_case, ci ou insensitive. Falta de text, falta de replacements, lista que não é array, lista vazia, par que não é objeto, find que não é string ou find vazio lançam invalid_input com uma mensagem que nomeia o problema, e essas falhas não são cobradas na API pré-paga. Use só result quando precisar apenas da string limpa; use o count por par quando um pipeline registrar qual entrada do glossário disparou; use total_count quando um painel acompanhar o volume de edições. Mantenha os payloads em tamanhos de frase, parágrafo e documento curto adequados a um isolate Worker, não dumps de vários megabytes.
Uso da API, preços, fluxos de trabalho e limites práticos
Chame a ferramenta gratuita de localizar e substituir múltiplo no navegador para limpeza de colagem, testes de glossário, demos em sala, QA de conteúdo e renomes multi-token sem instalar utilitário de desktop nem escrever snippets aninhados de split-join em cada linguagem. Outro fluxo preenche tokens de modelo como company, product e plan code listando cada par em uma única solicitação, ou apaga marcadores obsoletos enviando valores replace vazios. Não espere reescrita consciente de HTML que pule tags, campos de mesclagem de documentos estruturados, resolução paralela por correspondência mais longa ou colação específica de locale além do ignore-case padrão — são problemas separados. Autores de SDKs podem documentar text e replacements como campos obrigatórios e mostrar um exemplo de sucesso multi-par mais um erro de find vazio para que integradores vejam os dois lados do contrato. Use a API KIT pré-paga quando um CMS, um job ETL, um backend de formulários, um help desk ou um cliente móvel precisar da mesma transformação multi-par sob saldo a US$ 0,002 por item bem-sucedido; falhas de validação nunca consomem saldo após a rejeição do motor. Um fluxo típico envia um pacote de renome de marca que primeiro reescreve o nome legal completo, depois as formas curtas e em seguida os endereços de contato, e verifica total_count para confirmar que cada acerto esperado foi atualizado. Combine este endpoint com tidy de espaços ou conversores de caixa quando o próximo passo for estilo, mas mantenha localizar e substituir múltiplo como landing própria para não misturar a intenção SEO com ferramentas de um par ou playgrounds de regex.
Casos de integração
Preenchimento de modelos multi-token
Resolva vários marcadores —company, product, plan, year— em um rascunho ou macro listando cada par encontrar/substituir em vez de encadear chamadas de API de um único par.
QA e fixtures determinísticos
Arneses de teste fixam saídas golden multi-par para que refactors que alterem a ordem dos pares, a rejeição de find vazio ou a correspondência sem maiúsculas falhem imediatamente na integração contínua.
Perguntas técnicas
Como executo localizar e substituir múltiplo com esta ferramenta?
Envie JSON com text igual à sua string de origem e replacements igual a um array de objetos, cada um com find não vazio e replace opcional. Os pares rodam em ordem. A resposta inclui result, contagens por par e total_count.