检查子字符串是否存在于字符串中的特定位置

2024-05-15 02:00:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试根据文件名对数据库中的文件进行排序。文件名由字符和数字组成,例如-M23GH04.wav。第二个和第三个字母,即23,是我想要使用的班级信息。是否有一种方法可以拾取仅在第2和第3位置有23个文件的所有文件

我试过:

spk_id ='23'

spk_files=[f for f in wav_files if spk_id in f]

这将提供所有文件,而不考虑“23”的位置。e、 g-M01TY23,这是不可取的。有解决办法吗


Tags: 文件in信息id数据库排序文件名字母
3条回答

您也可以在此处使用re.match

spk_files = [file for file in wav_files if re.match(r'^.23', file)]

尝试将列表理解与切片结合使用:

spk_files = [f for f in wav_files if f[1:3] == spk_id]

使用相同的列表理解,但只需将spk_id in f更改为f[1:3] == spk_id,此代码使其仅提取文件名的第2个和第3个字符,然后检查它是否等于'23',即spk_id变量

试试下面的一个

spk_files=[f for f in wav_files if spk_id == f[1:3]]

这将使用子字符串匹配特定索引

相关问题 更多 >

    热门问题