当前位置: 首页 > 面试题库 >

如何转换转义字符?

司马飞
2023-03-14
问题内容

我想将包含转义字符的字符串转换为普通格式,就像Python的词法分析器所做的一样:

>>> escaped_str = 'One \\\'example\\\''
>>> print(escaped_str)
One \'Example\'
>>> normal_str = normalize_str(escaped_str)
>>> print(normal_str)
One 'Example'

当然,无聊的方法是将所有已知的转义字符一一替换:http : //docs.python.org/reference/lexical_analysis.html#string-
literals

您将如何normalize_str()在上述代码中实现?


问题答案:
>>> escaped_str ='一个\\\'示例\\\''
>>>打印escaped_str.encode('string_escape')
一个\\\'example \\\'
>>>打印escaped_str.decode('string_escape')
一个“例子”

几个类似的编解码器是可用的,如ROT13和十六进制。

上面是Python 2.x,但是–由于您在下面(在一条评论中)说过您正在使用Python 3.x
–尽管对Unicode字符串对象进行解码是绕开的,但仍然有可能。编解码器也已重命名为“ unicode_escape”:

Python 3.3a0(默认值:b6aafb20e5f5,2011年7月29日,05:34:11) 
linux2上的[GCC 4.4.3]
键入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。
>>> escaped_str =“一个\\\'示例\\\'”
>>>导入编解码器
>>>打印(codecs.getdecoder(“ unicode_escape”)(escaped_str)[0])
一个“例子”


 类似资料:
  • 问题内容: 我们如何直接转换为?使用转换到相当容易,但是又很繁琐。在golang中有没有直接的方法可以做到这一点? 问题答案: 您可以使用进行转换。 您应该注意的一件事是,只能取消引用中的字符串(例如,以引号char 或反引号char 开头和结尾```),因此我们必须手动附加该字符串。 例: 输出(在Go Playground上尝试): 注意: 要对HTML文本进行转义和转义,可以使用该包。引用其

  • 我有一个字符串返回给我,其中包含转义字符。 这是一个示例字符串 " test\40gmail.com " 如您所见,它包含转义字符。我需要将其转换为其实际值,即 " test@gmail.com " 我该怎么做?

  • 问题内容: 我从公共API接收到一个JSON对象,该对象本身具有一个转义的JSON字符串。 我如何将此属性转换为实际的JSON对象(未转义),以便使用NewtonSoft Json.NET反序列化整个响应? 问题答案: 这是我根据 Sam 的答案使用的可行解决方案:

  • 问题内容: 我正在寻找一种将包含字符转义序列的字符串转换为表示的字符的方法。 因此,例如,我想将字符串(具有两个字符,一个反斜杠和一个双引号)解析为char 。因此,将一个字符数组转换为一个字符。 因此,可能会执行以下操作,反之亦然: 我不敢相信java.lang或其他任何东西都不能为此提供良好的代码(也许是本地代码),因为我觉得上面的代码可能不完整,并且无法解析每个有问题的(可逃避的?)字符,因

  • 问题内容: 当我尝试使用“ unicode(head.contents [3])”获取标签的内容时,我得到类似于以下的输出:“ Christensen Sk \ xf6ld”。我希望转义序列作为字符串返回。如何在python中做? 问题答案: 假设Python将名称视为普通字符串,则首先必须将其解码为unicode: 实现此目的的另一种方法: 注意字符串前面的“ u”,表示它是未编码的。如果进行打

  • 问题内容: 我在Java中的字符串变量中具有以下值,该字符串变量具有如下编码的UTF-8字符 代替 (假设我无法控制如何将此值分配给此字符串变量) 现在如何正确转换(编码)并将其存储回String变量中? 我发现以下代码 但这会返回,但我要返回。 编辑: 一些其他信息。 当我使用我得到 我不确定什么是正确的术语(UTF-8或unicode)。 问题答案: 尝试 来自Apache Commons L