2017-04-11 38 views
2

只是一個(希望)簡單的問題。
做了一些與Python搞亂,我只是想知道我如何可以去除我的所有空白字符串的左側和右側,除了標籤,或者更確切地說\t刪除所有空格不包含製表符

我明白我可以循環遞歸替換,但這很麻煩。 Theres得到了一個更簡單的方法。

基本上只是刪除\n, ,\r, ...等除了\t
乾杯。

回答

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

相關問題