Localize e substitua usando expressões regulares no Microsoft Word

0

Eu já li os artigos sobre expressões regulares . Meu desejo é manipular strings entre aspas no Word (eu tenho a versão 2013).

Eu preciso substituir os caracteres de citação por parênteses.

Por exemplo:

"Hello World."

deve ser substituído por

(Hello World.)

Eu tentei pesquisar por "*" e substituir por \(*\) .

Mas eu não fui bem sucedido em tentar isso.

    
por Yasmin88 25.07.2014 / 23:15

1 resposta

2

A Ajuda do Microsoft Word 2007 para" Localizar e substituir " diz, "Quando a caixa de seleção Usar curingas está marcada, o Word localiza somente o texto exato que você especificar." Esta declaração um pouco enigmática significa

  • a pesquisa de texto alfabético faz distinção entre maiúsculas e minúsculas (embora você possa obter insensibilidade a maiúsculas e minúsculas com uma expressão de pesquisa como [Hh][Ee][Ll][Ll][Oo] ),
  • aspas direitas ( " ) e aspas curvas ( e ) não são equivalentes - procurar por um não encontrará nenhum dos outros,

... e provavelmente outras coisas.

Então, se o seu documento usa aspas direitas, procure por "([!"]@)" . (Expressões de pesquisa de caractere curinga do Microsoft Word - que são não expressões regulares - use [!qx-z] para indicar qualquer caractere outro que q , x , y ou z , porque ^ é usado para outras coisas (comparável ao papel de \ em regexs verdadeiros), e eles usam @ para significar uma ou mais ocorrências do caractere ou expressão anterior, porque * significa qualquer string, e acho que eles acharam que atribuir um significado especial a + seria confuso demais para usuários não acostumados a expressões regulares verdadeiras.) Como nas expressões regulares estendidas, os parênteses são usados para agrupar subexpressões. Se o seu documento usa aspas curvas, procure por “([!“”]@)” . Ou, se você tiver os dois, procure por [“"]([!“"”]@)["”] . Em ambos os casos, substitua por () . O refere-se ao conteúdo do primeiro (e apenas) grupo delimitado por parênteses na expressão de pesquisa, que é o texto entre aspas. Um pouco confuso, os parênteses aqui são apenas caracteres literais; então isso dá a você o resultado de substituir aspas por parênteses.

Observe que, como @ significa um ou mais ocorrências do caractere ou expressão anterior (isto é, ele age como + em expressões regulares), essas instruções não encontrarão cadeias nulas (ou seja, dois caracteres de aspas consecutivas, sem nada entre eles).

    
por 26.07.2014 / 04:44