【问题标题】:Python 3: convert a ascii char to unicode escapedPython 3:将 ascii char 转换为 unicode 转义
【发布时间】:2018-05-08 22:03:55
【问题描述】:

我需要将 ascii char 转换为 unicode 转义

示例: "&""\\u0026"

上下文:

我在输入中收到两个值,第一个是字符串,另一个是包含一些内容的原始字节。 在此之后,第一个字符串在正则表达式中用于捕获原始数据。

teste = "teste's teste & teste" raw = '.... teste\'s teste \\u0026 teste",null,["here","here2"] ....'

在此之后,正则表达式与第一个 var teste 一起使用以在 var raw 中获取单词 herehere2,但是在第一个 var 中有一些像 & 之类的字符的情况下,他不能在 raw 中找到任何模式,因为在 raw 中,var 处于 unicode 转义中。

所以我尝试将一些字符(如 &)转换为 unicode 转义但没有成功

【问题讨论】:

  • 什么 HTML 实体?您的字符串中没有 HTML 实体。
  • 对不起,如果我不清楚这个问题,但问题只是将 & 转换为 unicode 转义,因为 & 在 html 实体表中有,我写这个,但如果你不喜欢标题,你能帮我取一个更好的标题吗?
  • @ahogen ,好吧,我真的整天都在搜索这个,也许我真的很菜鸟,但是如果你找到了,你可以分享一下吗?
  • "&" 已经是 ASCII;使用unicode-escape 编码将无效。
  • @IgnacioVazquez-Abrams 我需要这个在他被转义的另一个文本中使用正则表达式进行搜索:\

标签: python regex python-3.x parsing unicode


【解决方案1】:

非常感谢,我会暂时解决这个问题:

def escape_word(word):
    whitelist = [" ", "'"] + list(string.ascii_letters)
    new_word = ""
    for _c in word:
        if _c in whitelist:
            new_word += _c
        else:
            new_word += "\\u%04x" % ord(_c)
    return new_word

直到我找到更好的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多