gpt4 book ai didi

python - 如何在Elasticsearch返回的Python中解串字符串?

转载 作者:行者123 更新时间:2023-12-02 23:57:40 26 4
gpt4 key购买 nike

我有一个索引,其中数据字段是关键字类型。我存储这样的字符串:

[a-zA-Z0-9.]+\@[a-zA-Z0-9]+\.[a-zA-Z]+

但是当我从Python从Elastic中返回它时,我得到了这样的字符串(因为它以转义形式存储在Elastic中):
\\[a\\-zA\\-Z0\\-9\\.\\]\\+\\\\\\@\\[a\\-zA\\-Z0\\-9\\]\\+\\\\\\.\\[a\\-zA\\-Z\\]\\+

如何使用Python将其恢复为原始形式?

我试图将其存储为二进制类型字段并使用编码/解码,但是基本上我也得到相同的转义字符串。

最佳答案

我改变了主意,将字符串转换为十六进制,然后将该十六进制值存储在Elastic中,因为该字符串是普通字符串,不需要进行转义,然后当我从Elastic读取它时,我就可以像这样还原过程:

import binascii

# Convert string to hex
def toHex(text):
return binascii.hexlify(bytes(text, 'utf-8')).decode("utf-8")

# Convert hex to string
def toStr(text):
return binascii.unhexlify(bytes(text, 'utf-8')).decode("utf-8").replace('\\\\', '\\')

这不是我的问题的直接答案,但对我有用,因此也许您会发现它也很有用。

关于python - 如何在Elasticsearch返回的Python中解串字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52063586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com