如何从固定格式的MONTUE-API文件名中提取年月日字符串
从固定格式文件名提取年月日信息
文件名遵循固定模式:MONTUE-API-{YEAR}{MONTH}{DAY}{TIMESTAMP}.TXT,例如MONTUE-API-202310031200340313.TXT,需要提取其中的年月日部分(如20231003),可以通过以下几种简单方式实现:
核心逻辑
年月日部分紧跟在MONTUE-API-之后,长度固定为8位(4位年份+2位月份+2位日期),后续为可变时间戳和文件后缀,因此可以直接通过字符串定位截取或正则匹配捕获获取目标内容。
Python 实现
# 方法1:字符串索引截取 filename = "MONTUE-API-202310031200340313.TXT" date_part = filename[11:19] # 从索引11开始取8个字符 print(date_part) # 输出:20231003 # 方法2:正则匹配 import re match_result = re.search(r"MONTUE-API-(\d{8})", filename) if match_result: print(match_result.group(1)) # 输出:20231003
Bash 脚本实现
# 方法1:cut命令分割截取 filename="MONTUE-API-202310031200340313.TXT" date_part=$(echo "$filename" | cut -d'-' -f3 | cut -c1-8) echo "$date_part" # 输出:20231003 # 方法2:参数扩展截取 filename="MONTUE-API-202310031200340313.TXT" date_part=${filename#*-*-} # 移除开头的"MONTUE-API-" date_part=${date_part:0:8} # 截取前8位字符 echo "$date_part" # 输出:20231003
JavaScript 实现
// 方法1:字符串切片截取 const filename = "MONTUE-API-202310031200340313.TXT"; const datePart = filename.slice(11, 19); console.log(datePart); // 输出:20231003 // 方法2:正则匹配 const match = filename.match(/MONTUE-API-(\d{8})/); if (match) { console.log(match[1]); // 输出:20231003 }
内容的提问来源于stack exchange,提问作者Earth
相关产品推荐
相关产品推荐

