繁体   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