2016-12-06 50 views
-2

我想知道rstrip和lstrip如何在python中工作。 說,如果我有一個字符串如何在python中使用strip?

>> a = 'thisthat' 
>> a.rstrip('hat') 
out : 'this' 
>> a.lstrip('this') 
out: 'at' 
>> a.rstrip('cat') 
out: 'thisth' 

如何剝離一個字的作品?

理想的輸出應該是「thist」(對於第一種情況)和「that」(對於第二種情況)是正確的?

或者它就像正則表達式,匹配每個字符,並在它結束時看到的任何字符剝離(第三種情況)?

注意:我不在尋找替換我只是想知道剝離字符串中的子字符串時如何工作。

+1

用於瞭解一些示例usecases條,我建議看看下面的鏈接https://開頭WWW .dotnetperls.com/strip-python –

回答

5

doc

返回與開頭和結尾刪除字符字符串的副本。如果省略字符或無,則刪除空白字符。如果給出而不是無,字符必須是字符串;該字符串中的字符將從該字符串的兩端剝離。

strip需要charcters參數,並會嘗試,只要它能夠從兩端刪除那些字符

該參數被認爲是的一組字符,而不是的子字符串

lstriprstrip作品完全一樣,唯一的區別就是其中一個只從左邊剝離,另一個是右邊。

+0

非常感謝你,我現在明白了 – sans0909

0
a = 'thisthat'  
a.rstrip('hat') 

等於從左側

a = 'thisthat' 
to_strip = 'hat' 
while a[-1] in to_strip: 
    a = a[:-2] 
-1

lstriprstripstrip除去字符,右和分別串的兩端。默認情況下,他們刪除空白字符(空格,製表符,換行符等)

>>> a = ' string with spaces ' 
>>> a.strip() 
'string with spaces' 
>>> a.lstrip() 
'string with spaces ' 
>>> a.rstrip() 
' string with spaces' 

可以使用字符參數來改變它去除的字符。

>>> a = '....string....' 
>>> a.strip('.') 
'string' 

然而,根據你的問題聽起來好像你實際上是在尋找替代

>>> a = 'thisthat' 
>>> a.replace('hat', '') 
'thist' 
>>> a.replace('this', '') 
'that' 
+0

@B Rad C不,我不是在尋找替換,我認爲當我從字符串中剝離一個單詞時,它會將該子串取出並剝離它。只要能夠像Ahsanul Haque解釋的那樣,我不知道這需要什麼。 – sans0909

相關問題