我想删除句子中的所有网址。
这是我的代码:
import ijson
f = open("/content/drive/My Drive/PTT 爬蟲/content/MakeUp/PTT_MakeUp_content_0_1000.json")
objects = ijson.items(f, 'item')
for obj in list(objects):
article = obj['content']
ret = re.findall("http[s*]:[a-zA-Z0-9_.+-/#~]+ ", article) # question here
for r in ret:
article = article.replace(r, "")
print(article)
但是带有“http”的URL仍然留在句子中。在
^{pr2}$有什么想法吗? 谢谢你的帮助。在
url以http开头,在您的模式中匹配}中的^{
[s*]
,这将匹配s
或{我想你在找
Regex demo| Python demo
^{pr2}$结果
一个简短的表达式,它的匹配范围更广,也可以匹配1+倍的非空白
\S+
字符,然后再匹配0+倍的空格,以匹配原始模式中的尾随空格。在Regex demo
一个简单的修复方法是将模式
https?://\S+
替换为空字符串:打印:
^{pr2}$我的模式假设
http://
或https://
后面的任何非空白字符都是URL的一部分。在将
[s*]
更改为s?
。前者是由两个字符组成的集合。后者是可选字符。有一些像regex101.com这样的网站可以让你用Python方言试验正则表达式。它将解释正则表达式的每个部分的解释。在相关问题 更多 >
编程相关推荐