Python .replace() 函数,以某种方式删除反斜杠

标签 python

我有一个巨大的字符串,其中包含诸如“\u201d”以及“\advance\”之类的情绪

我只需要删除反斜线,这样:

- \u201d = \u201d
- \united\ = united

(因为它中断了将其上传到 BigQuery 数据库的过程)

我知道它应该是这样的:

string.replace('\','') But not sure how to keep \u201d emotions.

附加: Unicode 情感示例

  • \ud83d\udc9e
  • \u201c
  • \u2744\ufe0f\u2744\ufe0f\u2744\ufe0f

最佳答案

您可以拆分所有“\”,然后使用正则表达式通过添加前导“\”来替换您的情绪

s = '\\advance\\\\united\\ud83d\\udc9e\\u201c\\u2744\\ufe0f\\u2744\\ufe0f\\u2744\\ufe0f'
import re
print(re.sub('(u[a-f0-9]{4})',lambda m: '\\'+m.group(0),''.join(s.split('\\'))))

由于您的情绪是“u”和 4 个十六进制数字,“u[a-f0-9]{4}” 将匹配它们,您只需添加前导反斜杠

首先,您使用 ''.join(s.split('\\'))s.replace('\\')

然后我们将每个“情绪”与正则表达式 u[a-f0-9]{4} 匹配(即 u 后面有 4 个十六进制字母)

使用 regex sub,您可以用前导 \\

替换每个匹配项

关于Python .replace() 函数,以某种方式删除反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55490123/

相关文章:

python - 为什么\0 在 Python 正则表达式替换中不起作用,即使用 sub() 或 expand(),而 match.group(0) 和\1,\2, ...?

python - flask 和 flask-socketio flush all emit 事件

python - Gmail 显示电子邮件的 HTML 和文本以及 HTML 部分

python - celery 不返回结果

python - 创建 .exe 文件后没有这样的文件或目录 - Python

python-igraph 联合与当前图形问题

python - 有没有办法让 Graphite 烯与 django GenericRelation 字段一起工作?

python - sudo brew doctor Mac OS X Sierra

python - GAE 是在扼杀我吗?

python - 尝试打开 Pandas 时出现历史保存线程错误