Como posso localizar e substituir texto entre parênteses por regex no Microsoft Word

Como posso localizar e substituir texto entre parênteses por regex no Microsoft Word

Tenho um documento que tem (TL por usuário) por todo lado. Eu gostaria de substituir isso por nada (excluindo-o em todos os lugares), mas o usuário pode ser diferente ou pode haver muitos usuários (TL por usuário1) (TL por usuário3, superusuário1). Até agora eu tentei encontrar (TL por .*) e substituir por nada, mas isso elimina tudo, exceto o usuário e os parênteses ao redor, por algum motivo, então fiquei com (usuário1) ou (usuário3, superusuário1). Como posso fazer com que o regex corresponda e substitua toda a correspondência (TL por usuário), incluindo os parâmetros e tudo dentro?

Isso está no Word 2010, colocarei mais informações quando chegar em casa hoje mais tarde

Responder1

Não há pesquisa "RegEx" real no Office, mas você pode usar a opção "Usar curingas".

Então, como não é um RegEx real, .não faz nada para ajudar. Você só precisa do *curinga.

O próximo truque é que, ao realizar uma pesquisa curinga no Word, os colchetes ()são usados ​​para agrupamento (como no RegEx), portanto, se você quiser pesquisar colchetes literais, precisará escapá-los com uma barra invertida ( \).

Juntando tudo isso, acabo com este comando Find, que funciona como você deseja (com base em meus testes):

\(TL by *\)

Configurações da caixa de diálogo Localizar e substituir que usei:

insira a descrição da imagem aqui

Responder2

Sua pergunta está faltando informações de versão e plataforma, mas eu encontreiEste artigono site da MS. Resumidamente,

  1. Digite uma lista de nomes como abaixo

    Chuck Norris
    Bruce Lee
    James Bond Bond
    
  2. Na guia Início, noEdiçãogrupo, cliqueSubstituirpara abrir oLocalizar e substituircaixa de diálogo.

  3. Se você não vê oUse curingascaixa de seleção, cliqueMaise marque a caixa de seleção. Se você não marcar a caixa de seleção, o Word tratará os caracteres curinga como texto.
  4. Digite os seguintes caracteres noEncontre o quecaixa. Certifique-se de incluir o espaço entre os dois conjuntos de parênteses:

    (<*>) (<*>)

  5. NoSubstituir comcaixa, digite os seguintes caracteres. Certifique-se de incluir o espaço entre a vírgula e a segunda barra:

    \2, \1

  6. Selecione a tabela e clique em Substituir tudo. O Word transpõe os nomes e os separa com vírgula, assim

    Norris, Chuck
    Lee, Bruce
    Bond, James Bond
    

EMBARGO, isso não funcionou para mim usando o Office 2011 no OSX 10.10.2. No entanto, há mais informações na página para recursos mais avançados.

Responder3

Verhttps://support.office.com/en-us/article/Find-and-replace-text-and-other-data-in-a-Word-document-c6728c16-469e-43cd-afe4-7708c6c779b7para detalhes

A Microsoft reivindica sua própria linguagem curinga como "expressão regular" e está disponível apenas na caixa de diálogo Localização ou Substituição Avançada. E sua linguagem é um pouco diferente de outras expressões regulares.

informação relacionada