我需要一些帮助。我需要从输入字符串中转义一些特定的特殊字符,如if request.method == 'POST':
rname = request.POST.get('react')
,这是通过post方法使用python和Django获得的。我在下面解释我的代码。
info = [
{
"faceAttributes": {
"glasses": "NoGlasses"
},
"faceId": "0f0a985e-8998-4c01-93b6-8ef4bb565cf6",
"faceRectangle": {
"height": 162,
"left": 177,
"top": 131,
"width": 162
}
}
]
for item in info:
print (item["faceAttributes"]["glasses"])
>>> 'NoGlasses'
这里从上面的输入值我需要删除特殊字符。请帮帮我。
答案 0 :(得分:0)
也许
import string
bad_chars = "()|&"
rname = "|icha()"
rname.translate(string.maketrans("", "", ), bad_chars)
# This becomes 'icha'
中对此进行了解释
答案 1 :(得分:0)
这可以使用正则表达式来完成。我的方法是:
import re
special_chars = r'[;\|>&]'
rname = request.POST.get('react')
cleaned_rname = re.sub(special_chars, '', rname)
现在,如果字符串rname
包含任何特殊字符,它们将被删除,您将获得带有输出的新字符串cleaned_rname
。
在变量special_chars
中,您可以指定应删除的所有字符。它们括在方括号内:[]
。
答案 2 :(得分:0)
你的问题不是很清楚。请清楚说明哪个变量可以逃脱哪些字符以及它们将成为什么。
可能对您有所帮助的摘录:
>>> 'HeRllo'.replace('R','')
Hello
或者,对于给定的字符列表:
>>> stringToEscape = 'He≪o'
>>> sources = ['&', ';']
>>> targets = ['', '']
>>> for source, target in zip(sources, targets):
>>> stringToEscape = stringToEscape.replace(source, target)
>>> print stringToEscape
Hello
但也许您正在寻找Django
中已存在的特殊功能。
答案 3 :(得分:0)
这使用替换方法:
chars = ";>" # and so on
rname = "stuff;"
for char in chars:
if char in rname:
new_rname = rname.replace(char,'')
rname = new_rname
您必须分配一个新变量,因为字符串是不可变的。结果应该是:
>>print(rname)
stuff