Dividindo strings por espaços ao preservar substrings entre aspas em Python
Ao processar strings que contêm espaços e substrings entre aspas, pode ser um desafio divida as strings com precisão, mantendo a integridade das seções citadas. Em Python, o módulo shlex fornece uma solução para este cenário específico.
Usando shlex.split() para preservar cotações
A função shlex.split() permite que você para dividir uma string por espaços enquanto trata as substrings entre aspas como uma única unidade. Isso significa que os espaços nas substrings entre aspas serão ignorados e o texto citado será preservado como um único elemento na lista resultante.
Exemplo de uso:
Considere o seguinte string:
this is "a test"
Para dividir esta string usando shlex.split(), basta importar o módulo e usar o seguinte código:
import shlex
result = shlex.split('this is "a test"')
A variável de resultado conterá a seguinte lista:
['this', 'is', 'a test']
Os espaços dentro da substring citada ("um teste") foram ignorados e o texto citado foi preservado como um único elemento.
Preservando aspas
Se você também deseja preservar as aspas em sua lista resultante, você pode passar o argumento de palavra-chave posix=False para shlex.split().
Por exemplo:
result = shlex.split('this is "a test"', posix=False)
Isso produzirá a seguinte lista:
['this', 'is', '"a test"']
As aspas agora foram preservadas como parte da saída.
Concluindo, a função shlex.split() em Python oferece uma maneira conveniente e eficiente de dividir strings por espaços, preservando a integridade das substrings citadas. Usando o argumento de palavra-chave posix=False, você também pode manter as aspas na lista resultante.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3