無序列表,我有以下字符串(請注意有每個連字符之前新的空間):形式的正則表達式
string = ' - Bullet 1\
- Bullet 2\
- Bullet 3\
- Bullet 4'
我想使用Python和正則表達式,以便它是一個HTML列表替換像這樣:
<ul>
<li>Bullet 1</li>
<li>Bullet 2</li>
<li>Bullet 3</li>
<li>Bullet 4</li>
</ul>
正如你可以看到,我想用<li></li>
代碼來替換每一顆子彈,然後用<ul></ul>
標籤包裝他們。
該字符串不會總是保持不變,所以我寧願如果有一種方法來識別第一個項目符號列表項目以放置第一個<ul>
,然後用一種方法來識別最後一個項目符號列表項目,然後包括</ul>
。
事情我已經試過了,沒有工作:
re.sub(r'(\ \ -\ (.*?))', r'<li>\1</li>', string)
- 我讀了添加了許多以應用re.sub像
re.sub(r'', r'', string, 1)
將適用東西的出現(在這種情況下,第一一個,因爲它是1)。
編輯:
如果語法與任何字符串,如工作,我寧願:
string = 'This is some text - Bullet 1\
- Bullet 2\
- Bullet 3\
- Bullet 4'
正如你所看到的,在頂部的一些文字是不子彈形式。這個文本可能會有所不同,或者可能在項目符號列表等之後,所以語法將不得不與此一起工作。
字符串列表後面有什麼?那麼,它是「blah {list} blah」還是隻是「blah {list}」 – dantiston
是的,這就是在列表之前和/或之後可能有某種東西。 –
@PavSidhu在你的字符串中的子彈在每一個新行或'\'只是爲了延續? –