我們如何列印出現在兩個模式之間的子字串?我們還提供了字串中字符的偏移量作為輸入來選擇需要列印的子字串。
例如
string = '<p >A quick brown fox</p><p >Jumps over</p>'
需要列印的子字串在模式">和之間</p>。
如果提供的偏移量是20那么A quick brown fox應該列印。如果提供的偏移量應該55被Jumps over列印,這個偏移量應該作為輸入被接收。
uj5u.com熱心網友回復:
">偏移量似乎被視為搜索最左側和右側的起點</p>。
<p >A quick brown fox</p><p >Jumps over</p>
^ ^
offset 20 offset 55
換句話說,">從開頭到偏移量在子字串中找到最右邊,</p>從偏移量到結尾在子字串中找到最左邊。
為此,有find和rfind字串方法。
>>> string.rfind('">', 0, 20)
13
>>> string.rfind('">', 0, 55)
49
>>> string.find('</p>', 20)
32
>>> string.find('</p>', 55)
61
現在您可以使用這些索引對字串進行切片。rfind您必須考慮回傳索引before 的事實">,但您需要在它之后切片,因此您必須將其長度 (2) 添加到切片的起始索引。
>>> start = string.rfind('">', 0, 20) 2
>>> end = string.find('</p>', 0, 20)
>>> string[start:end]
'A quick brown fox'
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/531139.html
標籤:Python细绳
