Command Palette

Search for a command to run...

Como encontrar e substituir texto sem Regex

Como encontrar e substituir texto sem Regex

T
Toolz Team
|Sep 13, 2026|16 min ler
Prefira Toolz.dev no Google

Parte da coleção Ferramentas de texto

Localizar e Substituir Texto

Encontre e substitua texto online sem expressões regulares Aplique várias regras de uma só vez, combine palavras inteiras e controle o caso Do lado do cliente, sem inscrição.

Use o Localizar e Substituir Texto

Eu corro Toolz.dev e passar a maior parte da minha semana no código do plugin WordPress, Laravel APIs, e React front ends Localizar e substituir é a edição única que EU realizo mais do que qualquer outra, e ainda nove vezes em cada dez EU não quero a versão poderosa dele Eu não quero uma expressão regular Eu quero pegar um pedaço de texto, dizer cada ocorrência de um cliente & #39; s nome do produto antigo, e trocá-lo para o novo, exatamente, sem um personagem perdido no meu termo de pesquisa combinando algo que EU nunca quis tocar Isso é o que o Ferramenta Localizar e Substituir sim, e este guia é sobre por que a versão literal e chata de encontrar e substituir é a que você deseja na maioria das vezes.

tl;dr: Esta ferramenta faz literal encontrar e substituir sobre um bloco de texto colado O termo de pesquisa corresponde exatamente como digitado, então um ponto final corresponde a um ponto final e um cifrão corresponde a um cifrão, sem escape e sem over-matching acidental Você pode adicionar várias regras de encontrar e substituir e aplicá-los em uma passagem, restringir correspondências a palavras inteiras e ativar ou desativar a sensibilidade do caso Ele relata quantas substituições cada regra fez Tudo é executado em seu navegador, então nada que você cole é carregado Quando você realmente precisa de curingas e grupos de captura, um substituto regex é a ferramenta certa em vez disso.

O que é literal encontrar e substituir, e porque é que o & quot; literal" importa?

Localizar e substituir é a operação de localizar cada ocorrência de uma string e trocá-la por outra Todo editor tem isso O que varia é como a ferramenta interpreta seu termo de pesquisa, e essa única escolha de design decide se a ferramenta ajuda você ou silenciosamente arruína seu texto.

Existem duas escolas Um substituto de expressão regular trata o seu termo de pesquisa como um padrão, onde certos caracteres são comandos: um ponto significa & quot; qualquer caractere, & quot; um asterisco significa & quot; repeat, & quot; um sinal de dólar significa & quot; end of line, & quot; e colchetes, parênteses e barras invertidas todos carregam significado especial Um substituto literal trata seu termo de pesquisa como ele mesmo, caractere para caractere, sem significado especial anexado a qualquer coisa.

Na maioria das vezes, literal é o que você quer, e aqui está a razão concreta Suponha que você queira substituir a string de versão 1.0.0 por 2.0.0 em um bloco de texto Em uma ferramenta regex, esses pontos são curingas, portanto sua pesquisa também corresponde 1x0y0, 1a0b0, e outras cordas que você nunca pretendeu Você teria que escapar dos pontos como 1\.0\.0 para torná-lo seguro, e se você esquecer, a ferramenta faz algo sutilmente errado e não avisa em uma ferramenta literal, 1.0.0 meios 1.0.0, os pontos são pontos, e não há nada para escapar e nada para se enganar O mesmo é verdade para um preço como $9.99, um caminho de ficheiro com barras invertidas, ou um trecho de código com colchetes nele A ferramenta literal lida com todos eles sem você pensar na sintaxe de padrões, porque não há sintaxe de padrões.

Quando devo usar um substituto regex?

Literal é o padrão certo, mas não é a resposta certa para tudo, e EU preferiria dizer onde ele pára do que fingir que não. Alcance um ferramenta regex substituir quando a coisa que você está combinando é uma forma em vez de uma string fixa Se você precisa combinar a cada ano de quatro dígitos, ou cada endereço de e-mail, ou cada linha que começa com um hash, ou você quer reformatar o texto combinado puxando pedaços dele com grupos de captura, isto é, trabalho de padrões e uma ferramenta literal não pode fazê-lo O testador regex é o lugar para construir e depurar esse padrão antes de executá-lo.

A linha divisória é simples Se você pode digitar exatamente o que você está procurando, use literal encontrar e substituir e salvar-se o escape Se o que você está procurando é uma categoria de coisas que compartilham uma forma, mas não caracteres exatos, use um regex A maioria limpeza de texto todos os dias é o primeiro tipo, e é por isso que a ferramenta literal cobre a maioria dos trabalhos reais e a ferramenta regex cobre o resto.

situação usar por que
Renomeie uma palavra ou frase fixa Literal encontrar e substituir O termo é exato; nenhum padrão necessário
Um termo de pesquisa contendo pontos, barras ou $ Literal encontrar e substituir Sem escapar, sem correspondências acidentais de curinga
Corrija vários termos diferentes de uma só vez Localizar e substituir literal, várias regras Cada regra é exata e aplicada em ordem
Corresponder a qualquer ano, e-mail ou formato de código Regex substituir Somente um padrão pode descrever uma categoria
Reordenar ou reformatar texto correspondente Regex substituir Os grupos de captura retiram e reorganizam as peças
Corresponder em inícios de linha ou limites de palavras por regra Regex substituir Âncoras e limites são características de padrão

Como funcionam várias regras?

O recurso que EU mais me apoio é aplicar várias regras de uma só vez Limpeza real raramente é uma troca Quando EU assumir um cliente & #39; s cópia, EU posso precisar mudar um nome de marca, corrigir dois erros ortográficos consistentes, e remover um pedaço de boilerplate, tudo no mesmo bloco de texto Fazendo isso como quatro passes separados é tedioso e propenso a erros A ferramenta permite adicionar uma linha para cada par encontrar e substituir, e ele aplica-los em ordem, cada regra agindo sobre a saída do antes dele.

Que ordenação vale a pena entender, porque é uma característica, não um acidente Diga regra um substitui foo por bar, e a regra dois substitui bar por baz. Porque a regra dois é executada com base no resultado da regra um, texto que começou como foo acaba como baz. Na maioria das vezes suas regras são independentes e a ordem não importa, mas quando interagem, o comportamento é previsível: de cima para baixo, cada uma no resultado anterior. A ferramenta também mostra uma contagem para cada regra, para que você possa confirmar que a regra três corresponde a algo e não está sentado lá sem fazer nada por causa de um erro de digitação no termo de pesquisa.

O que as opções de palavras inteiras e casos fazem?

Duas opções tratam dos casos em que uma troca simples é muito direta.

A sensibilidade do caso decide se Cat, CAT, e cat são a mesma palavra ou três diferentes Está desligado por padrão, porque a maioria da limpeza quer pegar um termo independentemente de como foi capitalizado Ligue-o quando a capitalização é o ponto principal: quando você deseja alterar uma grafia de um nome sem tocar em outro, ou quando você está trabalhando com código onde value e Value são identificadores diferentes.

A correspondência de palavras inteiras decide se o seu termo de pesquisa tem que ficar por conta própria, em vez de ficar dentro de uma palavra mais longa Esta é a opção que salva você do clássico desastre de encontrar e substituir Se você substituir cat por dog sem correspondência de palavras inteiras, você também vira category em dogegory e scatter em sdogter. Com correspondência de palavras inteiras, apenas a palavra independente cat é substituído e as palavras mais longas são deixadas sozinhas A ferramenta detecta limites de palavras usando letras e números Unicode em vez da definição somente ASCII, então uma palavra acentuada como café é tratado como uma palavra única e seus limites são encontrados corretamente, o que é uma implementação ingênua usando o clássico \b limite iria errar.

Há um ponto mais amplo aqui sobre como as ferramentas de texto devem respeitar o Unicode, no qual entro no Guia de ferramentas de texto: tratar o texto como bytes, em vez de caracteres percebidos pelo usuário, é de onde vem um número surpreendente de bugs de ferramentas.

Como EU uso isso em trabalho real

Alguns padrões surgem de novo e de novo Quando EU colar texto fora de um PDF ou um e-mail, muitas vezes chega com um termo escrito de forma inconsistente, e uma regra literal corrige cada instância Quando EU migrar um cliente' s conteúdo, EU configurei uma pilha de regras para o nome da marca, o domínio antigo, e um par de frases recorrentes, e executá-los todos de uma vez Quando EU limpar os dados antes de importá-lo, EU uso regras para retirar um prefixo repetido ou um caractere de marcador perdido, substituindo-o por nada, que é apenas uma regra com uma substituição vazia.

Ele emparelha naturalmente com as outras ferramentas de texto Muitas vezes EU achato texto colado com remover quebras de linha primeiro, depois execute find and substitute no resultado Quando o trabalho é realmente sobre mudar a forma das palavras em vez de trocá-las, o conversor case é o mais adequado e, quando desduplico uma lista, alcanço o removedor de linha duplicado em vez disso. Saber qual ferramenta é para qual trabalho é metade da velocidade, e há um resumo mais amplo disso no Ferramentas de produtividade do desenvolve guia.

A última coisa, e a razão pela qual EU construí estes para serem executados no navegador, é a privacidade O texto que você cola em uma ferramenta de encontrar e substituir é muitas vezes um rascunho, um client' s cópia não publicada, uma transcrição ou dados que você não tem nenhum negócio de carregar para um servidor aleatório Tudo o que esta ferramenta faz acontece em JavaScript em sua própria máquina Nada é transmitido, registrado ou armazenado, e você pode confirmá-lo desconectando-se da rede e observando a ferramenta continuar funcionando.

Um exemplo trabalhado: renomear um produto em uma página

Deixe-me tornar concreta a ideia de múltiplas regras, porque é a parte que as pessoas subutilizam Diga um cliente rebatizado do & quot; QuickBooks Lite" para o & quot; Ledgerly, & quot; mudou de oldsite.com até ledgerly.app& quot; e-mail" com um hífen enquanto o novo guia de estilo deseja " e-mail." Isso são três alterações independentes, e eu as definiria como três regras em uma passagem, em vez de três viagens pela ferramenta.

Regra um encontra QuickBooks Lite e substitui-o por Ledgerly. A regra dois conclui oldsite.com e substitui-o por ledgerly.app; observe que os pontos em ambos os domínios são literais aqui, então não preciso escapar de nada, enquanto uma ferramenta regex trataria oldsite.com como correspondência oldsiteXcom também. A regra três encontra e-mail e substitui-o por email. Eu colar a página, executar todos os três, e a contagem ao lado de cada regra me diz que o nome da marca mudou nove vezes, o domínio mudou quatro vezes, e o hífen corrigir bateu duas vezes Se regra três mostrou zero, EU saberia que a cópia não contém a ortografia hifenizada e EU poderia deixar cair a regra.

As contagens são o herói silencioso deste fluxo de trabalho Sem elas você está confiando que cada regra fez o seu trabalho; com eles você obtém feedback imediato de que um termo de pesquisa estava certo ou errado Um zero onde você esperava correspondências é quase sempre um erro de digitação no campo de localização ou uma incompatibilidade de capitalização que você pode corrigir alternando a sensibilidade do caso.

Como funciona a correspondência?

Vale a pena saber um pouco sobre o que acontece sob o capô, porque explica algum comportamento que você poderia achar surpreendente A ferramenta verifica o texto da esquerda para a direita Em cada posição verifica se o seu termo de pesquisa corresponde a partir daí Se isso acontecer, e qualquer condição de palavra inteira for satisfeita, ele escreve a substituição e salta além do texto correspondente Se não o fizer, ele copia um caractere e segue em frente por um É por isso que a substituição não é recursiva dentro de uma única regra: quando ele escreve a substituição, ele continua digitalizando depois dele, não dentro dele, então substituindo aa por a na corda aaa dá-lhe aa em vez de desmaiar até a. Se você quiser o colapso, você executa a regra duas vezes, que é exatamente o que uma segunda regra com o mesmo find and replace faz.

A correspondência sem distinção de maiúsculas e minúsculas é feita caractere por caractere, em vez de diminuir primeiro toda a string. Isso soa como um detalhe de implementação, mas é importante para a correção: alguns caracteres mudam de comprimento quando são minúsculos e comparar strings inteiras com caixa inferior tiraria as posições do alinhamento e corromperia a saída. Comparar um caractere por vez mantém todos os índices honestos. Os limites de palavras inteiras são verificados em relação aos caracteres imediatamente antes e depois de uma partida, tratando qualquer letra ou número Unicode como parte de uma palavra, que é o que permite que scripts acentuados e não latinos se comportem da maneira que você esperaria.

Nada disso é algo que você tem que pensar em uso diário Mas é a diferença entre uma ferramenta que silenciosamente faz a coisa errada em um caso de borda e um que você pode confiar com um cliente' s cópia, e é a razão pela qual EU prefiro usar um substituto literal construído propositadamente do que colar texto em uma caixa regex e espero que meu termo de pesquisa não contenha um caractere especial.

Perguntas frequentes

Como encontro e substituo texto sem usar regex?

Cole seu texto na ferramenta, digite a frase exata a ser encontrada e a frase exata para substituí-la e execute-a A pesquisa é literal, então cada caractere que você digita é correspondido como ele mesmo e nada precisa escapar Cada ocorrência é trocada e você obtém uma contagem de quantas alterações foram feitas, tudo em seu navegador sem que nada seja carregado.

Posso substituir várias palavras diferentes ao mesmo tempo?

Sim. Adicione uma linha para cada par de encontrar e substituir e a ferramenta os aplica em sequência, cada um agindo sobre o resultado da regra anterior a ele É assim que você renomeia uma marca, corrige dois erros ortográficos e tira um pedaço de clichê em uma única passagem, e cada regra mostra sua própria contagem de substituição para que você possa ver que ela correspondeu.

Qual é a diferença entre isso e uma ferramenta de substituição regex?

Esta ferramenta corresponde ao seu termo de pesquisa literalmente, então um ponto corresponde apenas a um ponto e um cifrão apenas a um cifrão, sem sintaxe de padrão para aprender e sem correspondência excessiva acidental Uma ferramenta de substituição regex trata o termo de pesquisa como um padrão com curingas, âncoras e grupos de captura, que é o que você precisa para combinar com uma categoria de coisas, como qualquer ano ou qualquer endereço de e-mail Use literal quando puder digitar exatamente o que deseja; use regex quando estiver combinando uma forma.

Como a correspondência de palavras inteiras impede substituições indesejadas?

Com a correspondência de palavras inteiras ativada, o termo de pesquisa só é substituído quando está sozinho, em vez de dentro de uma palavra mais longa Substituindo cat depois muda cat Mas deixa category, scatter, e located intocado A ferramenta usa limites com reconhecimento de Unicode, de modo que palavras acentuadas e não inglesas são tratadas corretamente, em vez de serem divididas no lugar errado.

Encontrará e substituirá a mudança de minhas quebras ou espaçamento de linha?

Não. Apenas os caracteres que você pesquisou são alterados Quebras de linha, recuo, espaçamento e pontuação em torno de suas correspondências são deixados exatamente como estavam Se a substituição for mais longa ou mais curta que o original, o texto circundante muda naturalmente, mas nada mais é reformatado ou refluído.

Existe um limite para quanto texto posso processar?

Não há limite fixo além do seu navegador & #39; s memória Como o trabalho acontece no seu dispositivo em vez de um servidor, blocos de centenas de milhares de caracteres processam quase instantaneamente e não há limite de tamanho de upload Para algo do tamanho de um livro inteiro você pode notar uma breve pausa, mas documentos comuns são efetivamente instantâneos.

Meu texto é carregado ou armazenado em algum lugar?

Não. O texto é processado por JavaScript no seu navegador e nunca é transmitido, registrado ou armazenado Você pode verificar isso abrindo a guia de rede enquanto executa uma substituição, ou desconectando-se da internet, já que a ferramenta continua funcionando offline assim que a página for carregada. Essa é a razão para usar uma ferramenta do lado do cliente para rascunhos, cópia do cliente e qualquer coisa privada.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!