鱼C论坛

 找回密码
 立即注册
查看: 1931|回复: 3

[已解决]按正则表达式替换

[复制链接]
发表于 2023-4-4 19:05:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如题
但似乎并没有 re.replace() 函数
part = html.tostring(tree, encoding='unicode')
pat = re.compile('<.*?>')
print(replace(pattern=pat, string=part))
最佳答案
2023-4-4 19:14:24
您可以使用 re.sub() 函数按照正则表达式来替换字符串中的内容。下面是一个修改后的代码示例:

import re
from lxml import html

tree = html.fromstring("<p>Hello, <b>world!</b></p>")
part = html.tostring(tree, encoding='unicode')
pat = re.compile('<.*?>')

# 使用 re.sub 替换所有匹配到的标签
result = re.sub(pat, '', part)

print(result) # 输出 "Hello, world!"
在上述代码中,我们将 <.*?> 匹配模式传递给 re.compile() 函数,并将其存储在变量 pat 中。然后,我们将 part 变量中的 HTML 代码传递给 re.sub() 函数。该函数将在 part 中找到所有匹配 pat 的文本,并将其用空字符串进行替换。

最终输出的结果是 Hello, world!,其中所有的 HTML 标签已经被移除了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-4 19:07:24 | 显示全部楼层
正则表达式替换是用re.sub
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-4 19:14:24 | 显示全部楼层    本楼为最佳答案   
您可以使用 re.sub() 函数按照正则表达式来替换字符串中的内容。下面是一个修改后的代码示例:

import re
from lxml import html

tree = html.fromstring("<p>Hello, <b>world!</b></p>")
part = html.tostring(tree, encoding='unicode')
pat = re.compile('<.*?>')

# 使用 re.sub 替换所有匹配到的标签
result = re.sub(pat, '', part)

print(result) # 输出 "Hello, world!"
在上述代码中,我们将 <.*?> 匹配模式传递给 re.compile() 函数,并将其存储在变量 pat 中。然后,我们将 part 变量中的 HTML 代码传递给 re.sub() 函数。该函数将在 part 中找到所有匹配 pat 的文本,并将其用空字符串进行替换。

最终输出的结果是 Hello, world!,其中所有的 HTML 标签已经被移除了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-4 19:14:27 | 显示全部楼层
Python re 模块没有 re.replace() 函数。你应该使用 re.sub() 函数来实现按正则表达式替换。以下是如何使用 re.sub() 的示例:
import re
from lxml import html

# ... 你的其他代码 ...

part = html.tostring(tree, encoding='unicode')
pat = re.compile('<.*?>')
result = re.sub(pat, '', part)
print(result)

在这个例子中,re.sub() 函数的第一个参数是一个已编译的正则表达式模式,

第二个参数是用于替换匹配到的模式的字符串(在这里是空字符串),第三个参数是需要进行替换操作的原始字符串。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 23:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表