我有一个字符串s
,我想从中删除'.mainlog'
。我试过了:
>>> s = 'ntm_MonMar26_16_59_41_2018.mainlog'
>>> s.strip('.mainlog')
'tm_MonMar26_16_59_41_2018'
为什么n
被移除'ntm...'
?
同样,我有另一个问题:
>>> s = 'MonMar26_16_59_41_2018_rerun.mainlog'
>>> s.strip('.mainlog')
'MonMar26_16_59_41_2018_reru'
为什么python坚持要从我的字符串中删除n
?如何从字符串中正确删除.mainlog
?
答案 0 :(得分:2)
来自Python文档:
https://docs.python.org/2/library/string.html#string.strip
目前,它试图删除你提到的所有字符('。',' m',' a'' i&# 39; ...)
您可以改用string.replace。
s.replace('.mainlog', '')
答案 1 :(得分:2)
如果您阅读str.strip
的文档,您会看到:
chars参数是一个字符串,指定要删除的字符集。
因此,'.mainlog'
(['.', 'm', 'a', 'i', 'n', 'l', 'o', 'g']
)中的所有字符都会从开头到结尾被删除。
你想要的是str.replace
用'.mainlog'
替换所有出现的s.replace('.mainlog', '')
#'ntm_MonMar26_16_59_41_2018'
:
"devDependencies": {
"bower": "1.8.4"
}
答案 2 :(得分:1)
您使用的功能错误。 strip
从字符串的开头和结尾删除字符。默认情况下为空格,但您可以提供要删除的字符列表。
您应该使用:
s.replace('.mainlog', '')
或者:
import os.path
os.path.splitext(s)[0]
答案 3 :(得分:1)
strip函数的参数,在这种情况下,.mainlog
不是字符串,而是一组单独的字符。
删除该列表中的所有前导和尾随字符。
如果我们传入参数aiglmno.
,我们会得到相同的结果。