Intervalos de caracteres e quebras de parágrafo correspondentes em Localizar no Microsoft Word

2

Tenho vários documentos do Word nos quais as quebras de linha (quebras de parágrafo) foram adicionadas apenas por razões estéticas (provavelmente por um ser humano, mas talvez por um sistema OCR ou algo similar). Eu quero remover essas quebras de linha extras dos documentos. Basicamente, uma quebra de linha 'extra' é aquela que é cercada por letras minúsculas em ambos os lados (com espaço em branco opcional). Infelizmente, porém, se eu quiser encontrar quebras de parágrafos no Word (^ p) eu não posso usar classes de caracteres para encontrar apenas letras minúsculas ([a-z]) e vice-versa.

Basicamente, quero usar um regex multilinha no documento para encontrar algo como o seguinte:

/[a-z]\s*\n\s*[a-z]/

e substitua a nova linha por um espaço. Existe alguma maneira que eu possa procurar por ambas as marcas de parágrafo (^ p no Word) e classes de caracteres (ou apenas letras minúsculas em geral)?

EXEMPLO:

TITLE¶
This is some text.

não corresponderia, mas

this text is on one line and¶
goes on to the next line.

corresponderia e o "¶" seria substituído por um espaço.

    
por Drewmate 28.06.2013 / 01:26

2 respostas

5

Não sei dizer, pelo que você disse, se você sabe que, se clicar em More >> na caixa de diálogo "Localizar e substituir" do Microsoft Word, verá um painel "Opções de pesquisa" que inclui um Use curingas ”opção. Note que ele suporta uma linguagem curinga arcana, não uma notação de expressão regular. Para começar com essa opção, use [a-z]^13[a-z] . Por algum motivo, você não pode usar ^p em uma pesquisa com curinga, mas ^13 é o equivalente habilitado para curinga de ^p .

O espaço em branco é um pouco mais complicado. O melhor que posso fazer é que você tem que fazer a pesquisa quatro vezes, usando

  • [a-z]^13[a-z]
  • [a-z][^t ]{1,99}^13[a-z]
  • [a-z]^13[^t ]{1,99}[a-z] e
  • [a-z][^t ]{1,99}^13[^t ]{1,99}[a-z]

já que, curiosamente, ^t funciona no modo curinga. \s e * não significam o que eles significam em expressões regulares. {n,m} faz funcionar, mas n tem que ser positivo. E observe que você não pode substituir as correspondências por um espaço, já que a última letra precedente e a primeira letra a seguir estão incluídas na correspondência e seriam prejudicadas.

Para crédito extra: talvez você queira procurar um - (hífen) como o último caractere de impressão antes da quebra de linha; mas não se esqueça de abordar esses dois (diferentes) casos:

                                                          … surrounded by lower-¶
case letters on either side (with optional whitespace).  Unfor-¶
tunately, though, …

    
por 28.06.2013 / 02:42
0

^13 is the wildcard-enabled equivalent of ^p.

Isso é quase verdade, mas observe que há uma pequena diferença entre ^13 e ^p . As quebras de parágrafo substituídas por ^13 parecem perder o espaço duplo obtido com uma quebra de parágrafo de estilo normal no Word.

first paragraph¶

second paragraph¶

third paragraph¶

torna-se

first paragraph¶
second paragraph¶
third paragraph¶

Para resolver isso, certifique-se de usar ^p marcas de parágrafo na parte de substituição da caixa de diálogo Localizar e substituir. A restrição em ^p com curingas aplica-se apenas à parte de localização da caixa de diálogo.

    
por 08.02.2018 / 21:47