如何从文件名中提取对应的ground truth语言代码
从文件名提取语言代码解决方案
正则匹配规则
针对Dictionary_en.txt这类「前缀+下划线+2位语言代码+.txt」格式的文件名,使用以下正则规则捕获目标内容:_([a-z]{2})\.txt$
规则说明:
_定位语言代码前的分隔符([a-z]{2})为捕获组,匹配2位小写字母组成的语言代码\.txt$定位文件名末尾的后缀,避免误匹配文件名其他位置的下划线内容
常用场景实现示例
Python 实现
import re filename = "Dictionary_en.txt" match_res = re.search(r'_([a-z]{2})\.txt$', filename) if match_res: lang_code = match_res.group(1) # 输出结果为 en
如果文件名格式完全固定(后缀恒为.txt、语言代码恒为2位、位于后缀前),也可以直接用字符串切片实现,性能更高:lang_code = filename[-6:-4]
Shell 实现(grep 命令)
echo "Dictionary_en.txt" | grep -oP '_\\K[a-z]{2}(?=\\.txt$)'
执行后直接输出en
内容的提问来源于stack exchange,提问作者amine
相关产品推荐
相关产品推荐

