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