Estou tentando remover todos os espaços / tabs / novas linhas em Python 2.7 no Linux.
Eu escrevi isso, isso deve fazer o trabalho:
myString="I want to Remove all white \t spaces, new lines \n and tabs \t"
myString = myString.strip(' \n\t')
print myString
resultado:
I want to Remove all white spaces, new lines
and tabs
Parece uma coisa simples de se fazer, mas estou perdendo algo aqui. Devo importar algo?
python
string
python-2.7
strip
bachurim09
fonte
fonte
Respostas:
Use
str.split([sep[, maxsplit]])
semsep
ousep=None
:Dos documentos :
Demo:
Use
str.join
na lista retornada para obter esta saída:fonte
Se você deseja remover vários itens de espaço em branco e substituí-los por espaços simples, a maneira mais fácil é com uma expressão regular como esta:
Você pode então remover o espaço à direita com
.strip()
se desejar.fonte
Use a nova biblioteca
Resultado:
fonte
fonte
RESULTADO:
Dia bom!
fonte
As soluções acima sugerindo o uso de regex não são ideais porque esta é uma tarefa pequena e regex requer mais sobrecarga de recursos do que a simplicidade da tarefa justifica.
Aqui está o que eu faço:
myString = myString.replace(' ', '').replace('\t', '').replace('\n', '')
ou se você tivesse um monte de coisas para remover de forma que uma solução de linha única seria desnecessariamente longa:
fonte
Como não há nada mais complexo, gostaria de compartilhar isso porque me ajudou.
Isso é o que eu usei originalmente:
Resultado indesejado:
Isso é o que eu mudei para:
Resultado desejado:
O regex preciso que @MattH mencionou foi o que funcionou para mim encaixá-lo em meu código. Obrigado!
Nota: este é
python3
fonte