我需要在中间数字的任意一边去掉一系列文件名中的所有内容(即替换为空白)。我可以分两步做,但我希望在一个步骤中完成。Python正则表达式 - 剥离开始和结束并保持中间不变
两个步骤:
filename = "NRC_401653_XL3213456321_NRCE_KR.pdf"
front_gone = re.sub(r'(\w{3})_(\d{6})_', '', filename)
both_gone = re.sub(r'_NRCE_KR.pdf', '', front_gone)
这将导致在短短XL3213456321
剩下的,这正是我所需要的。我想一步到位。
''NRC_401653_XL3213456321_NRCE_KR.pdf“.split('_')[2]'? – IanAuld
分割有什么问题? –
或're.sub(r'^ \ w {3} _ \ d {6} _(\ w +)_ NRCE_KR.pdf',r'\ 1',filename)' –