繁体   English   中英

如何在 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)

我只是通过用空字符串替换它来删除\

你可以使用正则表达式。

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

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
str = "spam/eggs"
str2 = bytes(str, "utf-8").decode("unicode_escape")
print(str2)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM