今天在python终端,我试过了
a = "serviceCheck_postmaster"
a.strip("serviceCheck_")
Run Code Online (Sandbox Code Playgroud)
但"postmaster"我没有得到,而是得到了"postmast".
什么可能导致这个?我怎样才能获得"postmaster"输出?
Mar*_*ers 19
你是误会了什么.strip() 呢.它会删除您传递的字符串中的任何字符.从str.strip()文档:
的字符参数是字符串指定一组待删除的字符.
强调我的; 这个词set至关重要.
因为chars作为一组处理,.strip()将删除所有s,e,r,v,i,c,C,h,k并_从你的输入字符串的开始和结束字符.所以输入字符串末尾的e和r字符也被删除了; 这些字符是集合的一部分.
要从开头或结尾删除字符串,请改为使用切片:
if a.startswith('serviceCheck_'):
a = a[len('serviceCheck_'):]
Run Code Online (Sandbox Code Playgroud)
Martijn回答的另一种方法是使用 str.replace()
>>> a = "serviceCheck_postmaster"
>>> a.replace('serviceCheck_','')
'postmaster'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26015 次 |
| 最近记录: |