簡體   English   中英

從字符串中剝離時奇怪的 python 行為

[英]Weird python behavior when stripping from a string

是什么導致了這種奇怪的行為???

In [41]: s = "Mr Magoo Myyopia"
In [42]: t = s.strip("Mr Magoo")
In [43]: t
Out[43]: 'yyopi'

但是如果我改變字符串的內容......

In [44]: s = "hello world again"
In [45]: t = s.strip("hello world")
In [46]: t
Out[46]: 'again'

文檔字符串非常清楚地解釋了它:

返回刪除了前導和尾隨空格的字符串的副本。 如果給出了 chars 而不是 None,則改為刪除 chars 中的字符。

strip()的任何和所有字符如果它們是前導或尾隨的,都將從字符串中刪除。 'Mr Magoo'包含一個'a' ,它也出現在'Myyopia'部分——因此它也被剝離了。

'hello world'沒有出現在'again'中的字符,因此它不會被剝離。

strip()適用於字符,而不是子字符串。

strip替換作為字符串提供的最外層字符。 我沒能認出“最外層”的一面。 感謝大家。

條帶 function 刪除側面的任何相似字符 它刪除側面的字母並再次檢查側面

例子:

>>> s = '121'
>>> s.strip('1')
'2'
>>> s.strip('2')
'121'
>>> 
>>> s.strip('12')
''
>>> 
>>> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM