Python如何通过split()提取文件名第三与第四个下划线间的内容
实现方法
你可以直接通过下划线分割后取对应索引的元素实现需求,具体逻辑和代码如下:
核心逻辑
split('_')会把字符串按下划线切割为列表,列表索引从0开始计数,你要提取的123对应分割后的第3个元素,索引为2,直接取该索引的值即可。
单文件示例代码
# 输入示例文件名 file_path = 'C:\\Path...\\SomeInfo_MoreInfo_123_456_789.PDF' # 按下划线分割为列表 split_parts = file_path.split('_') # 提取目标内容 target_content = split_parts[2] print(target_content) # 输出结果:123
批量处理文件名列表示例
如果要处理整个文件名列表,可以用列表推导式批量提取:
file_name_list = [ 'C:\\Path...\\SomeInfo_MoreInfo_123_456_789.PDF', 'C:\\Path...\\InfoA_InfoB_456_789_012.PDF', # 其他文件名 ] # 批量提取对应位置内容 result_list = [file.split('_')[2] for file in file_name_list]
异常兼容处理
如果部分文件名的下划线数量不足,为了避免索引报错,可以加长度判断:
result_list = [] for file in file_name_list: parts = file.split('_') # 确认分割后元素数量足够,索引2存在 if len(parts) >= 3: result_list.append(parts[2]) else: # 可自定义不符合规则的文件的处理逻辑,比如填入空值、跳过等 result_list.append(None)
位置调整说明
如果你后续需要提取其他下划线之间的内容,只需修改索引值即可:
- 第1个和第2个下划线之间的内容:索引
1 - 第2个和第3个下划线之间的内容:索引
2(对应本次需求的123) - 第3个和第4个下划线之间的内容:索引
3 - 以此类推
内容的提问来源于stack exchange,提问作者Squary94
相关产品推荐
相关产品推荐

