首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让re.sub()忽略pattern中的问号?

如何让re.sub()忽略pattern中的问号?
EN

Stack Overflow用户
提问于 2018-09-14 08:00:29
回答 1查看 523关注 0票数 0

我正在尝试从一个长文件中剥离urls。我的代码工作得很好,除了下面这一个实例。我认为问题在于url字符串中有一个?如何在我的循环体中处理这种情况?如何强制re.sub()忽略?在url变量中?

代码语言:javascript
运行
复制
blah = 'City of San Jose. Playa to Paseo, http://www.sanjoseca.gov/index.aspx?nid=5876'
url='http://www.sanjoseca.gov/index.aspx?nid=5876'
re.sub(url,'',blah)

OUT>>'City of San Jose. Playa to Paseo, http://www.sanjoseca.gov/index.aspx?nid=5876'

Desired OUT>>> 'City of San Jose. Playa to Paseo, '

编辑:用奇怪的字符手动修复整个文件中的每个url不是我想要做的。我在这里循环了1000行的urls。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-14 08:03:56

您需要正确转义正则表达式中的所有特殊字符才能匹配原义字符。这也包括句点:

代码语言:javascript
运行
复制
blah = 'City of San Jose. Playa to Paseo, http://www.sanjoseca.gov/index.aspx?nid=5876'
url='http://www\.sanjoseca\.gov/index\.aspx\?nid=5876'
print(re.sub(url,'',blah))

或者,您可以使用re.escape为您完成此操作:

代码语言:javascript
运行
复制
blah = 'City of San Jose. Playa to Paseo, http://www.sanjoseca.gov/index.aspx?nid=5876'
url = re.escape('http://www.sanjoseca.gov/index.aspx?nid=5876')
print(re.sub(url,'',blah))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52323258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档