我是重新使用python模块的人。我正在尝试在最后找到的数字中分割字符串。
Given string:
![](images/folder0/subfolder1/file0.png)
^ last found number = 0
I would like to split the string in three parts:
part1: ![](images/folder0/subfolder1/file
part2: 0
part3: .png)
我的尝试:
我可以找到这些拆分:
lst = re.split(r'(\d+)', query)
# ['![](images/folder', '0', '/subfolder', '1', '/file', '0', '.png)']
但是,我不确定如何分成三部分。
感谢您的帮助。
这样的东西?如果查询中的“文件” +编号一致:
import sys, re
query = "![](images/folder0/subfolder1/file10.png)"
num = re.findall('\d+',query)[-1] # gives last number 0
newnum = int(num)+1
query = query.replace(r'file'+num, 'file'+str(newnum))
print(query)
您拥有使用正则表达式吗?我没有使用正则表达式就写下来了:
s = '![](images/folder0/subfolder1/file0.png)'
s1 = s.split('/')
s2 = s1[len(s1)-1].split('.')
s3 = s2[0][0:4] + str(int(s2[0][4:])+1) + '.' + s2[1]
new_filelist = []
for i in s1[0:len(s1)-1]:
append_str = i + '/'
new_filelist.append(append_str)
new_filelist.append(s3)
new_filename = ''.join(i for i in new_filelist)
只要字符串始终以'fileXX.png'结尾,它将在最后一位数字上加1