有些词不一定以_v123.ext
结尾
例如:
var_a='FWPR_102_002_020-Xyz_v002.txt'
var_b='102_002_020_002_.dbl
在var_a
上使用re
:
import re
result = re.search(r'(\d+.\w+)$', var_a)
group=result.groups()
但是当var_b
返回None
时,它会抛出AttributeError崩溃:
'NoneType' object has no attribute 'groups'
只有当basename以_v
(可以是小写和大写)结尾,后跟一个或多个数字(以句点分隔文件扩展名和basename)时,表达式才应返回
使用
os
获取文件的基名称,使用str.split
和str.join
删除扩展名并检查最后一部分,使用str.isdigit
确定字符串是否只包含数字:我尽量避免使用正则表达式
另外,
v123.extension
会在这里给出True
,我猜这是正确的处理方法(不满足'v'
之前的'_'
条件)相关问题 更多 >
编程相关推荐