如何对 Python 字符串中的特殊字符进行转义?

How Do You Unescape Special Characters In A Python String?

spam\/eggsspam/eggs

# This isn't working...
str = "spam\/eggs"
s = bytes(str, "utf-8").decode("unicode_escape")

print(s)
>>> spam\/eggs

# How to get "spam/eggs"

在python中你不能使用'\',因为python会认为你会在它后面添加一些东西,比如'\t','\n'等等。所以你可以在字符串中使用额外的反斜杠:string = 'spam\/eggs'

我认为这不是以不同方式执行此操作的最有效方法,但您可以这样做:

strs = 'spam\/eggs'
print(strs)
strs = strs.replace('\','')
print(strs)

我刚刚删除了 \,将其替换为空字符串。

str = "spam/eggs"
str2 = bytes(str, "utf-8").decode("unicode_escape")
print(str2)

顺便说一句:你应该更仔细地把代码放在问题中;你调用一个变量 str 然后 myString 和第二个变量 str2 然后 str1

你可以使用正则表达式。

要特别删除特殊字符 \,您必须指定正则表达式 \ \

import re
myString = "spam\/eggs"
str2 = re.sub(r'\', "", myString) # remove this character '\'
print(str2)
# spam/eggs

通用(删除特定字符):

import re
myString = "sp&a+m\/eg*gs"
str2 = re.sub(r'[\&+*]', "", myString) # to remove what you want into the brackets
print(str2)
# spam/eggs