我有一个像这样的字符串
foldername/pic.jpg
如何删除此部分/pic
,以便新字符串变为foldername.jpg
?
编辑:我想替换任何以/
开头并以.
结尾的字符串(。),以便新文件名只包含foldername.jpg
答案 0 :(得分:2)
您可以使用re
模块。试试 -
import re
a = 'foldername/pic.jpg'
out = re.sub(r'/.*\.', r'.', a)
print(out)
答案 1 :(得分:1)
如果这就是你所拥有的,你可以这样做:
name = 'foldername/pic.jpg'
root = name.split('/')[0]
ext = name.split('.')[1]
name = root + ext
但是如果要拆分文件路径,最好使用os.path
命令,例如:
import os
name = 'foldername/pic.jpg'
root = os.path.dirname(name)
_, ext = os.path.splitext(name)
name = root + '.' + ext
这两种情况都会在这些情况下返回字符串foldername.jpg
,但os.path
命令更灵活
答案 2 :(得分:1)
要获得更通用的解决方案,请尝试正则表达式。 在您的具体示例中,我将假设您要删除以' /'开头的子字符串,并以' c'结尾。 (即/ pic)。
In [394]: import re
In [395]: re.sub(r'(.+)\/\w+c(.+)', r'\1\2', 'foldername/pic.jpg')
Out[395]: 'foldername.jpg'
请注意,第二个参数需要原始字符串封装器r' ',如果要插入变量,否则\ 1或\ 2无效。