簡體   English   中英

檢查子字符串是否存在於字符串中的特定位置

[英]Check if a substring is present at a specific location in a string

我正在嘗試根據文件名對數據庫中的文件進行排序。 文件名由字符和數字組成,例如- M23GH04.wav。 第二個和第三個字母即 23 是我想使用的班級信息。 是否有一種方法可以僅在第二和第三位置拾取所有具有 23 的文件。

我試過了:

spk_id ='23'

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

這給出了所有文件,而不管 '23' 的位置。 例如- M01TY23,這是不可取的。 有什么解決方法嗎?

嘗試使用帶切片的列表理解:

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

使用相同的列表spk_id in f ,但只需將spk_id in f更改為f[1:3] == spk_id ,此代碼使其僅提取文件名的第 2 個和第 3 個字符,然后檢查它是否等於'23'spk_id變量。

你也可以在這里使用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 spk_id == f[1:3]]

這將匹配特定索引與子字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM