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

在Python中处理字符串中的转义序列

杨甫
2023-03-14
问题内容

有时候,当我从文件或用户那里得到输入时,我会得到一个带有转义序列的字符串。我想以与Python处理字符串文字中的转义序列相同的方式来处理转义序列。

例如,假设myString定义为:

>>> myString = "spam\\neggs"
>>> print(myString)
spam\neggs

我想要一个process执行此操作的函数(我称之为):

>>> print(process(myString))
spam
eggs

该函数可以处理Python中的所有转义序列(在上面的链接的表格中列出),这一点很重要。

Python是否具有执行此操作的功能?


问题答案:

正确的做法是使用“字符串转义”代码对字符串进行解码。

>>> myString = "spam\\neggs"
>>> decoded_string = bytes(myString, "utf-8").decode("unicode_escape") # python3 
>>> decoded_string = myString.decode('string_escape') # python2
>>> print(decoded_string)
spam
eggs

不要使用AST或eval。使用字符串编解码器更加安全。



 类似资料:
  • 本文向大家介绍如何在Python中处理字符串中的转义序列?,包括了如何在Python中处理字符串中的转义序列?的使用技巧和注意事项,需要的朋友参考一下 有两种方法可以在Python中转义反斜杠转义的字符串。首先是使用literal_eval评估字符串。请注意,在此方法中,您需要将字符串用另一层引号引起来。例如: 另一种方法是使用字符串类中的decode('string_escape')方法。例如,

  • 我正在访问一个返回json的服务,如下所示: 我想做的是解析这个json并在键值对中获取文件夹的url和某个文件部分。 因此,本质上,在我的脚本处理完json之后,它将以某种分隔方式在文件中输出url和somefile。 文件处理上述提供的 json 后,输出为: 我很确定python中有很多json解析器可以解析json,但是我该如何处理已经用转义符预处理过的url字符串呢?我是否需要编写自己的

  • 问题内容: 为了回答这个问题,我设法通过转义反斜杠来使字符串成为转义字符。 当我尝试将其概括为转义所有转义的字符时,它似乎无能为力: 但是对于特定的转义字符使用相同的方法,它确实起作用: 有一般的方法可以做到这一点吗?应包括,,,等。 问题答案: 使用r’text’将字符串定义为raw,如下面的代码所示:

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

  • 问题内容: JavaScript是否具有诸如PHP的(或)函数之类的内置函数,以向需要转义字符串的字符添加反斜杠? 例如,这: 这是一个带有“单引号”和“双引号”的演示字符串。 …会成为: 这是一个带有'单引号'和\“双引号\”的演示字符串。 问题答案:

  • 问题内容: Python的str对象没有内置的反向函数。实现这种方法的最佳方法是什么? 如果提供一个非常简洁的答案,请详细说明其效率。例如,str对象是否转换为其他对象等。 问题答案: 怎么样: 这是扩展切片语法。它的工作方式是通过保留和并指定步骤来反转字符串。