2017-12-04 22 views
0

二重引用符をすべて一重引用符で置き換えます。 しかし、imgタグでのみ!私はhtmlテキストを持っています複数の入力を文字列に置き換えます。

<p>First p</p><img class="image" src="one.jpg" /> 
<p>Second p</p><img class="image" src="two.jpg" /> 

私はこれをどのように置き換えることができますか。 私はこのような何か試してみました:

re.sub('"', "'", re.findall(r'<img.*/>', html)) 

を期待される結果がこれです:

<p>First p</p><img class='image' src='one.jpg' /> 
<p>Second p</p><img class='image' src='two.jpg' /> 
+0

予想される出力は何ですか? –

+0

htmlタグが 'str'型であると仮定すると、s.replace(" \ ""、 "\ '")) – Manjunath

+1

[正規表現でHTMLを解析することはできません]を使用できます(https://stackoverflow.com)。/a/1732454/2142055)実際のHTMLパーサーを使用してください。 – Goyo

答えて

0

re.findall()re.sub()は入力

として文字列を期待しながら、リストを返します。
r=re.findall(r'<img.*>', html) 
b=[re.sub('"', "'",a) for a in r] 
for i in range(len(b)): 
    html=str.replace(html,r[i],b[i]) 
print html 

出力

<p>First p</p><img class='image' src='one.jpg' /> 
<p>Second p</p><img class='image' src='two.jpg' /> 
+0

今、pタグがありません... – saromba

関連する問題