簡體   English   中英

substring 基於特定模式

[英]substring based on a specific pattern

我對 Python 很陌生。 我正在嘗試 substring 從一長串 txt 中提取特定模式。 這種特定模式在同一個 txt 中出現多次。 例如:

s = 'apple/gfgfdAAA1234ZZZuijjk/pear apple/009456/pear apple/dsakjdaghdj/pear'
start = s.find('apple') 
end =   s.find('pear', start)
s[start:end]

這是我最初的嘗試。 但是,它只給了我第一段文本,即'gfgfdAAA1234ZZZuijjk' 相反,我還需要'009456''dsakjdaghdj'

有幾種方法可以做到這一點。 最花哨的是正則表達式,但我認為您不想在這里使用它。

因此,一種解決方案是刪除字符串中所有不必要的元素,然后將其拆分。 您可以一鍵完成:

result = s.replace("apple/","").replace("/pear","").split()

請注意,結果是一個 Python 列表,由三個字符串組成。 您可以遍歷此列表以分別獲取每個項目,然后您可以通過連接來構建一個字符串:

new_s=""
for each_result in result:
    new_s = new_s +  each_result + " "
new_s = new_s.rstrip() #to remove the last empty space

另一種方法是您可以刪除不需要的元素:

new_s = s.replace('apple/', '').replace('/pear', '')

暫無
暫無

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

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