尋找子字串的所有出現
Python 提供了廣泛的字串操作功能,包括函數string.find() 和string .rfind( )分別從開頭和結尾檢索子字串的第一次出現。然而,當我們試圖找出子字串的所有出現位置時,這些函數就顯得不夠了。
解決方案:利用正規表示式
在沒有內建「字串」的情況下.find_all()」函數,我們可以利用正規表示式的力量:
import re text = "test test test test" # Find all occurrences of "test" matches = [m.start() for m in re.finditer('test', text)] # Print the found indexes print(matches) # [0, 5, 10, 15]
這個解迭代re.finditer('test', text)的結果,一個生成器,為每個發現的事件產生匹配物件。屬性,我們獲得表示子字串在原始字串中的位置的索引列表。使用前瞻性斷言來捕捉它們表達式:
執行反向搜尋
要執行反向查找所有而不重疊,可以使用正向和負向前瞻的組合:matches = [m.start() for m in re.finditer('(?=tt)', 'ttt')] # [0, 1]
透過使用正規表示式,我們可以有效地識別和檢索Python中所有出現的子字串字串。
以上是如何查找 Python 字串中所有出現的子字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!