替换字符串中的多个出现

时间:2017-12-04 12:36:29

标签: python regex string

我想用单引号替换所有出现的双引号。 但只有img标签!我有一个html文本

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

预期结果如下:

const styles = StyleSheet.create({
  container: {
    flex:1
  },
  listStyle: {
    justifyContent: 'center'
  },
  emptyMessageStyle: {
    textAlign: 'center',
    }

});

  render() {
    return (
      <View style={styles.container}>
        <FlatList style={styles.listStyle}
          renderItem={() => null}
          data={this.state.listData}
          ListHeaderComponent={() => (!this.state.listData.length ? 
            <Text style={styles.emptyMessageStyle}>The list is empty</Text>  
            : null)}
        />
      </View>
    );
  }  

1 个答案:

答案 0 :(得分: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' />