如何从字符串中删除最后n个字符?

18

如果我有一个字符串并且想要删除它的最后4个字符,我该怎么做?

所以如果我想从Forest.bmp中删除.bmp,使其变成Forest,我该怎么做?谢谢。


2
你是想要删除最后四个字符还是想要删除文件扩展名? - sarnold
3
如果你需要处理文件扩展名,你应该使用os.path.splitext而不是删除最后四个字符。 - jamylak
我正在尝试仅删除文件扩展名的最后4个字符或其中之一。 - user1319219
1个回答

43

这里有两种解决方案。

通常情况下,删除最后4个字符的方法如下:

s = 'this is a string1234'

s = s[:-4]
产生。
'this is a string'

如果需要处理文件名,可以考虑使用os.path.splitext()函数,它能够将一个文件名分割成文件名和扩展名:

import os 

s = "Forest.bmp"
base, ext = os.path.splitext(s)

结果为:

print base
'Forest'

print ext
'.bmp'

我刚刚把它复制到我的Python shell中,它的输出结果是: - user1319219
1
你可能错过了隐含的 "import os" - 但他们已经编辑添加了它,目前上面的代码是可以工作的。 - Peter Hanley
@user1319219 是的,请确保您有 import os.. 如果不行请告诉我。我的答案是直接从 shell 复制过来的,所以应该没问题。 - Levon
1
如果这个回答对您有帮助,请考虑点击勾选标记为已解决。http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 标记问题已解决将为双方提供一些声望点,并表明可以关注其他未解决的问题。 - Levon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接