Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python字符串替换数字_Python_Regex_String_Replace - Fatal编程技术网

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)

看看为什么有些用户不接受答案?事实上,为甚么会有人提出问题而不被接纳?当然不会有太多人在问了一个问题后,永远无法上网了吧?