【问题标题】:Replace multiple occurrences in string替换字符串中的多次出现
【发布时间】:2017-12-04 12:36:29
【问题描述】:

我想用单引号替换所有出现的双引号。 但只在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' />

【问题讨论】:

标签: python regex string


【解决方案1】:

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' />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-24
    • 2017-04-16
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 2016-07-10
    相关资源
    最近更新 更多