问题描述
现有一段字符串style="font-family: 微软雅黑; font-size: 6.67pt; vertical-align: super">1,2</span> ,想要将其中的1,2替换为[1,2],其中1,2只是一个例子可能有多个数字但是都是以,隔开。
问题出现的环境背景及自己尝试过哪些方法
匹配到1,2后也不知道该怎么后续处理,改变原字符串
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你期待的结果是什么?实际看到的错误信息又是什么?
现有一段字符串style="font-family: 微软雅黑; font-size: 6.67pt; vertical-align: super">1,2</span> ,想要将其中的1,2替换为[1,2],其中1,2只是一个例子可能有多个数字但是都是以,隔开。求教,谢谢! 急求!
2 回答
holdtom
TA贡献1805条经验 获得超10个赞
处理这种问题建议你灵活一点.
replace
能做吗?
可以的.当然有局限.我们为什么不直接尝试将><
改成>[]<
?replace('">','>[')
,这个替换左边.
右边replace('</span>',']</span>')
怪low的是不是.
正则表达式写法:
a ="""<span style="font-family: 微软雅黑; font-size: 6.67pt; vertical-align: super: ">1,2</span>"""
pattern = re.compile("(<span.*?>)(\d.*?)(</span>)")
pattern.search(a).groups()
# ('<span style="font-family: \xe5\xbe\xae\xe8\xbd\xaf\xe9\x9b\x85\xe9\xbb\x91; font-size: #6.67pt; vertical-align: super">',
# '1,2',
# '</span>')
re.sub(pattern,r"\1[\2]\3",a)
'<span style="font-family: \xe5\xbe\xae\xe8\xbd\xaf\xe9\x9b\x85\xe9\xbb\x91; font-size: 6.67pt; vertical-align: super">[1,2]</span>'
添加回答
举报
0/150
提交
取消