2017-04-11 11 views
2

그냥 (잘하면) 간단한 질문.
파이썬으로 어지러운 작업을하다가, 모든 공백 문자의 왼쪽과 오른쪽을 모두 제거 할 수있는 방법을 알고 싶습니다 (은 \t을 제외하고 모든 공백 문자 ).모든 공백을 제외하고 탭을 제외하십시오

대체 루프를 사용하여 반복적으로 반복 할 수 있음을 알고 있지만 지저분합니다. Theres는 더 간단한 방법이어야합니다.

\t을 제외하고 기본적으로 \n, ,\r, ... 등을 제거하면됩니다.
건배.

답변

1

사용 re.sub :

import re 

string = 'Hello\nThis is a sample\tstring\n\r!' 
print(re.sub('[ \n\r]', '', string)) 
+0

짧고 달콤한! 내 유일한 문제는, 정규식에 공백이 내 탭을 데리러 것으로 보인다, 그리고 메신저 ** 확실히 그들의 탭과 네 공백으로 변환되지 않습니다 ... – finnrayment

+0

신경 쓰지 마, 내 끝. 고맙습니다! – finnrayment

+1

이 해결 방법은 왼쪽 및 오른쪽뿐만 아니라 문자열 내부의 공백, \ n 및 \ r도 제거합니다. – VMRuiz

4

당신은 또한 사용할 수 있습니다

s = " \t a string example\t " 
s = s.strip(' \n\r') 

이 어떤 공간을 제거, \ n, 또는 것입니다 왼쪽, 오른쪽에서 \ r에 문자 , 또는 문자열의 양쪽.

참조 : How to trim whitespace (including tabs)?

+0

멋진! 고마워. 'strip()'함수가 args를 취했다는 것을 몰랐습니다. – finnrayment

0
s.strip(' ').strip('\n').strip('\r')#this will return a copy of string with '\r' and '\b' removed from left side and right side. 

참조 : string.strip

+0

'\ t'을 제거하고'\ b'을'strip()'으로 제거하지 않습니다. 탭을 포함하는 모든 공백 문자를 제거합니다. –

+0

고마워, 그래서, 내 대답을 편집 할 것입니다! – nick