2016-10-15 71 views
-1
>>> adf = "123 ABCD#" 
>>> df = "<ABCD#>" 
>>> adf.strip(df) 
>>> '123 ' 
>>> xc = "dfdfd ABCD#!" 
>>> xc.strip(df) 
>>> 'dfdfd ABCD#!' 

爲什麼strip()會在adf中取出ABCD#? 是否完全忽略「<」和「>」?爲什麼在原始字符串中沒有「<」和「>」時刪除字符?帶的奇怪行爲()

+0

爲什麼這很重要? – user3837980

+0

考慮''www.example.com'.strip('cmowz。<>')'用於剝離的字符是一個集合;字符串兩端的任何字符都將被刪除,直到它們不能被刪除。 – dawg

+0

在提出如此平凡的回答的問題之前,是否會讓人們閱讀[文檔](https://docs.python.org/3/library/stdtypes.html#str.strip)? – ShadowRanger

回答

1

strip()方法返回字符串的一個副本,其中所有字符都從字符串的開始和結尾(默認空白字符)中剝離。

df中的字符出現在字符串adf的末尾。字符串xc中的第一個和最後一個字符不是這種情況!和d。

str.strip([chars]); =>如果str中的任何字符出現在最後或第一個索引的字符中,那麼該字符將從str中刪除。然後它再次檢查。當沒有人物被剝離時,它會停止。

+0

是否忽略了df的「<" and ">」部分? – user3837980

+0

由於字符串adf不包含「<" or ">」,所以在這種情況下忽略它們。 – Raza

+0

感謝,換句話說,strip()在[chars]中查找單個字符並將它們從字符串的前端和末尾移除?正確? – user3837980