>>> t1 = "abcd.org.gz"
>>> t1
'abcd.org.gz'
>>> t1.strip("g")
'abcd.org.gz'
>>> t1.strip("gz")
'abcd.org.'
>>> t1.strip(".gz")
'abcd.or'
为什么'.org'的'g'消失了?
答案 0 :(得分:8)
strip
从字符串的开头和结尾删除任何字符.
,g
和z
。
答案 1 :(得分:8)
x.strip(y)
will remove all characters that appear in y
from the beginning and end of x
.
这意味着
'foo42'.strip('1234567890') == 'foo'
因为'4'
和'2'
都出现在'1234567890'
。
如果要删除文件扩展名,请使用os.path.splitext
。
>>> import os.path
>>> t1 = "abcd.org.gz"
>>> os.path.splitext(t1)
('abcd.org', '.gz')
答案 2 :(得分:4)
在 Python 3.9 中,有两个新的字符串方法.removeprefix()
和.removesuffix()
分别删除字符串的开头或结尾。值得庆幸的是,这次,方法名称清楚地说明了这些方法应该执行的操作。
>>> print (sys.version)
3.9.0
>>> t1 = "abcd.org.gz"
>>> t1.removesuffix('gz')
'abcd.org.'
>>> t1
'abcd.org.gz'
>>> t1.removesuffix('gz').removesuffix('.gz')
'abcd.org.' # No unexpected effect from last removesuffix call
答案 3 :(得分:1)
赋予strip
的参数是要删除的一组字符,而不是子字符串。 From the docs:
chars参数是一个字符串,指定要删除的字符集。
答案 4 :(得分:1)
据我所知,strip仅从字符串的开头或结尾删除。如果要从整个字符串中删除使用replace。