如何在python中自动转义字符串?

时间:2019-08-16 00:46:39

标签: python python-3.x

是否存在将This is a path变成This\ is\ a\ path的事情?

最好使用所有标准转义序列,例如\t\n等。

解开事物很容易: print("foo\nbar".encode("unicode_escape").decode("utf-8"))


我承认,我对这个问题的第一个回答是使用pathlib.Path。其他人正在看这个,您可能也应该这样做。但是,当我凝视更多并询问问题时,这不适用于这种情况。从字面上看,它必须是一种以\ t \ n \ r等版本的样式将字符串转换为转义符的工具。我猜这与路径无关。编写一个简单的函数很容易,但是我很好奇是否已经存在一些东西。

网络上有一个编码器,所以对\ t \ n样式的编码请求不是那么疯狂,是吗?

http://www.utilities-online.info/urlencode/#.XVYwRZNKg5c

test this string
and this one
test%20this%20string%0Aand%20this%20one

1 个答案:

答案 0 :(得分:2)

在python中,实际上有一个replace函数,它允许您将字符串中的字符替换为另一个字符,如下所示:

string = 'This is a path'

for ' ' in string:
    string.replace(' ', '\\ ', 1)

请注意第三个参数中的数字。这是为了指定应更改的字符数。尽管前两个参数很容易解释。

第一个是您要更改的内容。第二个是您要替换的内容。我知道您可以将第三个参数设置为有多少个空间,但是这种方法更有效,更自动,因为它可以自行检测到它。

您也可以使用正则表达式,但是我认为这是最“ pythonic”的处理方式,因为您不需要任何其他模块。

此外,我不确定您为什么需要对字符串进行编码。您肯定会使自己变得比原本更困难。