使用decode() 与正则表达式来转义该字符串

2024-03-11

我有以下字符串,我正在尝试找出转义它的最佳实践。

该解决方案必须有点灵活,因为我从 API 接收此输入,并且我不能绝对确定当前的字符结构(\n相对于\r)将永远是相同的。

'"If it ain\'t broke, don\'t fix it." \nWent in for a detailed car wash.\nThe attendants raved-up my engine when taking the car into the tunnel. NOTE: my car is...'

这个正则表达式似乎应该有效:

text_excerpt = re.sub(r'[\s"\\]', ' ', raw_text_excerpt).strip()

我也读过decode()可能会起作用(并且通常是一个更好的解决方案)。

raw_text_excerpt.decode('string_unescape')

尝试了一些类似的方法,但没有成功。有什么建议么?正则表达式在这里最好吗?


您正在寻找的编解码器是string-escape:

>>> print "\\'".decode("string-escape")
'

我不确定他们在哪个版本中添加了它,但......可能是您正在使用的旧版本没有它。我在跑:

Python 2.6.6 (r266:84292, Mar 25 2011, 19:36:32) 
[GCC 4.5.2] on linux2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用decode() 与正则表达式来转义该字符串 的相关文章

随机推荐

  • __init__() 缺少 1 个必需的位置参数

    我正在努力学习Python 这是一个非常简单的代码 我在这里想做的就是调用类的构造函数 初始化一些变量并打印该变量 但它给了我一个错误 missing 1 required positional argument class DHT def
  • 在 Mac OS 中使用 JAVA 注册表

    我写了一个Java桌面应用程序在Windows正在使用的平台Windows注册表保存应用程序信息 例如应用程序位置 时间段 例如最多 30 天的免费试用 等 现在 我想创建相同的java应用程序来运行Mac OS 虽然大多数java代码是相
  • 为什么一个文件对象刷新,而另一个文件对象不刷新?

    我想要一个在写入数据时直接刷新到文件的文件对象 并写道 class FlushingFileObject file def write self args kwargs return val file write self args kwa
  • 通过点击铅笔调用监听器(primefaces 2.2.1 rowEditor)

    在 rowEditor 上单击铅笔后如何调用侦听器 我想从 dataTable 中准备文本进行编辑 清除制表符和回车符的 html 标签 你有什么想法 谢谢 实际上 数据表中没有铅笔事件 如果你想在铅笔点击后调用监听器 你可以这样做 将 r
  • JPA (Hibernate) + Spring:处理唯一约束违规

    我有一个具有唯一字段的实体 A 该字段基本上定义了该实体 这意味着它是相等的 那么实体也完全相同 第二点是 如果违反该约束 那么绝不是例外 这意味着完全可以预期用户会尝试输入重复项 如果出现重复 应用程序应该默默地选择已经存在的实体 我现在
  • 通过名称或索引引用列的函数

    我希望能够在一个向量中按名称和索引引用列 作为示例 我仅指定 编辑 我更改了原始向量的顺序 因为我希望顺序无关紧要 columns lt c 1 7 j 8 i 然后我想检索索引 1 到 9 的名称并将它们添加到向量中 在正确的位置 我有一
  • Eclipse 写入控制台

    在 Eclipse 中 如何将调试语句写入控制台窗口 我试过 System out print urls System out println urls Log d tag urls 但我没有看到任何地方显示的值 Thanks 创建一个控制
  • 如何从命令行覆盖 protractor.conf.js 值?

    我目前有量角器设置可以在我们的集成服务器上运行 在 protractor conf js 文件中我有以下内容 multiCapabilities browserName firefox platform MAC browserName ch
  • 检查函数是否返回 true 以执行另一个函数

    我用 JS 编写了一个表单验证 以 return true 结尾 function check validation code return true 我想要的是 需要检查 check 函数是否返回 true 我想执行另一个函数 我尝试过的
  • 如何在 Jinja2 上解压多个变量

    我正在尝试在 jinja 模板引擎上解压多个变量 我怎样才能实现这个目标 我正在努力实现这样的目标 for item1 item2 item3 in items div class row div class four columns im
  • 如何检测文本区域的任何更改?

    我目前已将我的文本区域绑定到几个似乎有效的事件 然而 问题是事件重叠并触发多次 这反过来又使性能降低了太多 我想要做的几乎是捕获文本区域的任何更改 单击 粘贴 keyup keydown 右键单击上下文菜单编辑 右键单击 剪切 删除 粘贴
  • Telegram bot API:我可以混合使用自定义键盘和force_reply吗?

    我有一个自定义键盘 但要处理答案 我需要强制回复 以便我在下一条消息中收到问题 我已经这样做了 var opts reply markup JSON stringify keyboard OK Cancel one time keyboar
  • 导入错误:没有名为 pynotify 的模块。安装模块时

    所以这个错误不断出现 每次我尝试运行该脚本时 它都会返回 Traceback most recent call last File cli py line 11 in
  • Firebase 中现有的快照类型有什么区别?

    随着我在 Flutter 中的代码和编码经验的进一步发展 我在使用 Firebase API 时遇到过不同类型的快照 我说的是 AsyncSnapshots QuerySnapshots DocumentSnapshots 和 DataSn
  • 如何过滤指定时间段内的 Facebook 潜在客户

    我正在使用 Facebook API v4 获取潜在客户列表 使用 PHP 和库中内置的 get 方法 我想知道如何将日期范围传递到请求中以仅获取 2 个日期之间的潜在客户 我首先使用以下命令获取 adets 列表 request fb g
  • 生成类型类实例时无法证明单例类型是单例类型

    假设我有一个类型类 它证明 Shapeless 联积中的所有类型都是单例类型 import shapeless trait AllSingletons A C lt Coproduct def values List A object Al
  • ng-repeat 中的 Angular UI 工具提示未关闭

    请看下面的 plunker http plnkr co edit RPpjULZsSDnTFPKiafl2 http plnkr co edit RPpjULZsSDnTFPKiafl2 基本上 当向上 向下移动到 ng disabled
  • Windows:如何获取相机支持的分辨率?

    因此 为了获取相机列表并让用户选择一个 C Boost dshow Windows 我使用这样的代码 include StdAfx h include list h include
  • 将 1 通道图像转换为 3 通道图像

    我正在尝试在 OpenCV 2 3 1 中将 1 通道图像 16 位 转换为 3 通道图像 我在使用合并功能时遇到问题并收到以下错误 Mat temp tmp2 Mat hud tmp2 cv ptr gt image tmp2 conve
  • 使用decode() 与正则表达式来转义该字符串

    我有以下字符串 我正在尝试找出转义它的最佳实践 该解决方案必须有点灵活 因为我从 API 接收此输入 并且我不能绝对确定当前的字符结构 n相对于 r 将永远是相同的 If it ain t broke don t fix it nWent