segunda-feira, 9 de fevereiro de 2009

Trocando a posição de strings em uma linha com :substitute

Digamos que se tem:
sobrenome, nome
e se deseja:
nome sobrenome
Use um comando substitute:
:%s/\([^,]*\), \(.*\)/\2 \1/
Descrição:
Encontre zero ou mais caracteres que não sejam ',' seguido de ','. Salve a
sub-ocorrência.

Continue o regex, seguido de um espaço seguido de zero ou mais caracteres.
Salve a segunda sub-ocorrência.

Substitua pelo 2º sub-ocorrência seguida de um espaço seguida pela 1ª
sub-ocorrência.

As sub-ocorrências podem ser referenciadas como \1 e \2 na expressão regular.
Elas são conhecidas como 'backreferences'.

0 comentários:

Postar um comentário