+ Responder ao Tópico



  1. #1

    Padrão Exp Regular - Pegar o penultimo espaço?

    Olá pessoal, bom dia,

    Gostaria de pegar o penultimo espaço para substitui-las por ";" (ponto-virgula), veja o texto abaixo:

    NOME SOBRENOME 7777
    FULANO DA SILVA 6666
    BELTRANO FULANO ZICRANO 8888


    Ou seja, gostaria de fazer uma REGEXP para pegar os espaços entre o final dos caracteres alfa e númericos. Ou seja, pra ficar assim:

    NOME SOBRENOME - 7777
    FULANO DA SILVA - 6666
    BELTRANO FULANO ZICRANO - 8888


    Como posso fazer uma RegExp para fazer isso? Alguem pode me ajudar?

    Muito obrigado!

  2. #2

    Padrão

    Bom dia Junote.

    Se o que voce pretende e' formar um string resultante em Nome - Numero , baseado na string nome numero, conforme o exemplo que voce passou, um caminho e' utilizando variaveis na regex. Por exemplo

    echo "FULANO DA SILVA 6666" | sed 's/\([0-9]\{1,\}\)$/ - \1/'

    Se voce possui um arquivo texto com os registros separados por linha:

    bash-3.00$ cat a.txt
    NOME SOBRENOME 7777
    FULANO DA SILVA 6666
    BELTRANO FULANO ZICRANO 8888

    bash-3.00$ cat a.txt | sed 's/\([0-9]\{1,\}\)$/ - \1/'
    NOME SOBRENOME - 7777
    FULANO DA SILVA - 6666
    BELTRANO FULANO ZICRANO - 8888

    Abs.
    Fabio K. Lima
    LPIC