如何转换';原始和#x27;串成一个';解码';Python中的字符串?

如何转换';原始和#x27;串成一个';解码';Python中的字符串?,python,string,type-conversion,rawstring,Python,String,Type Conversion,Rawstring,我有以下字符串: raw_text = r"The Walt Disney Company, (2006\u2013present)" print(raw_text) #result : The Walt Disney Company, (2006\u2013present) 我的问题是如何从原始文本中获得解码字符串“decoded_text”,以便获得 print(decoded_text) #result : The Walt Disney Company,

我有以下字符串:

raw_text  = r"The Walt Disney Company, (2006\u2013present)"    
print(raw_text)
#result : The Walt Disney Company, (2006\u2013present)
我的问题是如何从原始文本中获得解码字符串“decoded_text”,以便获得

print(decoded_text)
#result : The Walt Disney Company, (2006-present)
除了这种琐碎的方式:

decoded_text = raw_text.replace("\u2013", "-")
事实上,我有一个大字符串,其中包含很多\u--stuff(比如\u2013、\u00c9等等)。因此,我正在寻找一种方法,以正确的方式一次转换所有模块。

您可以使用内置模块完成此任务,如下所示

import codecs
raw_text  = r"The Walt Disney Company, (2006\u2013present)"
print(codecs.unicode_escape_decode(raw_text)[0])
输出:

The Walt Disney Company, (2006–present)

如果您的输入实际上来自Python原始字符串文本、
r
前缀和所有内容,那么只需关闭
r
。如果您的输入不是来自Python原始字符串文字,那么您请求的操作可能会有微妙的错误。这个输入来自哪里?我通过BeautifulSoup从web获得字符串。字符串中包含很多这样的内容。转义规则因上下文而异,而解析Python字符串文本转义的内容将对JSON字符串转义起到错误的作用。