You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python正则表达式去除字符串两端的双引号

用Python正则去除字符串两端的双引号(含HTML实体场景)

很简单,用Python内置的re模块就能轻松搞定这个需求。下面分两种常见场景给你具体的实现方案:

1. 处理单个带两端双引号实体的字符串

如果你拿到的是单独的目标字符串(比如"G27707"),只需要匹配并移除开头和结尾的"实体即可:

import re

original_str = ""G27707""
cleaned_str = re.sub(r'^"|"$', '', original_str)
print(cleaned_str)  # 输出: G27707

正则说明:

  • ^":精准匹配字符串开头的"实体
  • |:表示逻辑“或”,匹配两种场景之一
  • "$:精准匹配字符串结尾的"实体
  • 把匹配到的内容替换为空字符串,就完美去掉了两端的双引号实体。

2. 批量处理整个网页源码片段

针对你提供的完整网页源码片段:

@context":"http://schema.org","@type":"Product","sku":"G27707","brand":"adidas"

我们可以批量替换所有被"包裹的内容,直接保留中间的文本:

import re

source_code = '@context":"http://schema.org","@type":"Product","sku":"G27707","brand":"adidas"'
cleaned_code = re.sub(r'"(.*?)"', r'\1', source_code)
print(cleaned_code)

执行后输出结果:

@context:http://schema.org,@type:Product,sku:G27707,brand:adidas

正则说明:

  • ":匹配双引号的HTML实体
  • (.*?):非贪婪模式匹配任意字符(尽可能少的匹配,避免误匹配跨多个引号的内容),并用括号将中间内容捕获为分组
  • r'\1':替换为我们捕获到的第1个分组内容,相当于直接去掉了前后的"实体。

补充:如果是普通双引号而非HTML实体

如果你的源码里的双引号是普通的"(不是"),只需要把正则中的"替换为"即可:

  • 单个字符串处理:re.sub(r'^"|"$', '', original_str)
  • 批量处理源码:re.sub(r'"(.*?)"', r'\1', source_code)

内容的提问来源于stack exchange,提问作者asad khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 09:14:07