2009-12-10 54 views
0

我有一個oldstring使用Python插入XML標記左右兩個字符串的差異

'foobarba <span class="foo">z</span>' 

newstring

'foodbar ba<span class="foo">z</span>' 

一個字符串是一個類名給定的,也可能是"foo"再次,讓我們說"bar"

鑑於newstringoldstringbar,我想結束了:

'foo<span class="bar">d</span> ba<span class="foo">z</span>' 

我想diff的兩個字符串。如果新的字符串更短,可能檢查空標籤,並通過它們出來..但現在我們什麼都不能做。但是,如果新字符串更長(可能會更長,可能更多,但很少),我想查找新字符,檢查是否包含適當的跨度(一個給定的字符酒吧),如果不包裹,包裹它。

如果oldstring現在是:

'foo<span class="bar">d</span> ba<span class="foo">z</span>' 

給出foo再次爲類名和newstring:

'foo<span class="bar">dz</span> ba<span class="foo">z</span>' 

我想感知新z性格和與

出來
'foo<span class="bar">d</span><span class="foo">z</span> ba<span class="foo">z</span>' 

OR

'foo<span class="bar">d<span class="foo">z</span></span> ba<span class="foo">z</span>' 

對於好的python模塊的建議,或者甚至可能是stdlib的一個快速技巧都會很棒。 idk,我很累;可能會在明天答案醒來。

回答

1

使用stdlib中的difflib來查找字符串之間的差異,然後在diff中插入span標籤。

相關問題