如何从包含URL的字符串中提取非URL部分的所有数字字符
解决方法:提取字符串中非URL部分的数字
- 核心思路是先移除所有URL片段,再从剩余文本中提取数字,避免误提取URL内的数字
完整实现代码
import re test = '4758 11b98https://www.website11/111' # 第一步:移除所有http/https开头的URL text_without_url = re.sub(r'https?://\S+', '', test) # 第二步:提取剩余文本中所有数字并拼接 result = ''.join(re.findall(r'\d', text_without_url)) print(result)
运行输出为47581198,完全符合预期结果。
规则适配说明
如果需要兼容更多协议的URL(比如ftp、无协议前缀的www开头链接等),仅需要调整第一步替换URL的正则规则即可,当前规则可覆盖绝大多数标准HTTP/HTTPS链接场景。
内容的提问来源于stack exchange,提问作者Yel
相关产品推荐
相关产品推荐

