Como usar o RegEx no Notepad ++ para selecionar espaços até um caractere de correspondência específico para substituição

0

Problema: Eu preciso modificar centenas de linhas em um .csv para uma importação, o software de importação não gosta de espaços no campo de nome (mas os aceita no campo de descrição), então eu preciso substituir apenas os espaços em cada linha até o primeiro "aspas".

Linha de exemplo:

West Side Switch 1,33,"Incl...

Gostaria que fosse parecido com:

West-Side-Switch-1,33,"Incl...

Eu não estou muito familiarizado com o trabalho com o regex, então imaginei que essa seria uma boa oportunidade de aprendizado.

    
por tyrannosaurusRekt 05.07.2018 / 18:33

1 resposta

0

Com o Notepad ++, aqui está uma maneira de fazer o trabalho, isso substituirá todos os espaços presentes antes das primeiras aspas duplas:

  • Ctrl + H
  • Encontre o que: (?:^|\G)([^"\h]*)\h
  • Substituir por: $1-
  • check Embrulhe
  • verificar expressão regular
  • Substituir todos

Explicação:

(?:         : start non capture group
  ^         : beginning of line
 |          : OR
  \G        : search from the last match position
)           : end group
(           : start group 1
  [^"\h]*   : 0 or more character that is not a quote or a horizontal space
)           : end group
\h          : horizontal space

Substituição:

$1          : content of group 1
-           : a dash
    
por 05.07.2018 / 19:00