python字符串替换数字
我正在尝试替换下面字符串的某些部分python字符串替换数字,python,regex,string,replace,Python,Regex,String,Replace,我正在尝试替换下面字符串的某些部分 '''<td align="center"> 5 </td> <td> align="center"> 0.0001 </td>''' ''5 align=“center”>0.0001'' 如果存在“0”,我需要删除标记。(十进制出现)。i、 e.输出应为 '''<td align="center"> 5 </td>''' “5” 我试过这个 data = ' '.join
'''<td align="center"> 5 </td> <td> align="center"> 0.0001 </td>'''
''5 align=“center”>0.0001''
如果存在“0”,我需要删除
标记。(十进制出现)。i、 e.输出应为
'''<td align="center"> 5 </td>'''
“5”
我试过这个
data = ' '.join(data.split())<br>
l = data.replace('<td align="center"> 0.r"\d" </td>', "")
data=''.join(data.split())
l=data.replace('0.r“\d“,“”)
但是没有成功。谁能帮我做这件事
提前感谢我会使用正则表达式:
import re
s = "<td align='center'> 5 </td><td align='center'>0.00001</td>"
re.sub("<td align='center'>0.\d+</td>", "", s)
重新导入
s=“5 0.00001”
re.sub(“0.\d+”,“”,s)
您可以使用正则表达式来检查
是否匹配,如果匹配,您可以使用re.sub()
来替换它
pattern = '\"<td align=\"center\"> 0.[0-9]+ </td>\"'
p = re.compile(pattern)
p.sub('', my_string)
pattern='\'0.[0-9]+\'
p=重新编译(模式)
p、 sub(“”,我的_字符串)
如果
my_string
包含要对其进行操作的字符串,希望这有助于当这两个正则表达式示例都有效时,我建议不要使用regexp
特别是如果数据是完整的html文档,则应使用支持html的解析器,例如lxml.html
,例如:
from lxml import html
t = html.fromstring(text)
tds = t.xpath("table/tbody/tr[2]/td")
for td in tds:
if tds.text.startswith("0."):
td.getparent().remove(td)
text = html.tostring(t)
看看为什么有些用户不接受答案?事实上,为甚么会有人提出问题而不被接纳?当然不会有太多人在问了一个问题后,永远无法上网了吧?