Python版的PHP stripslashes
我写了一段代码,用来把PHP中的striplashes函数转换成有效的Python反斜杠转义:
cleaned = stringwithslashes
cleaned = cleaned.replace('\\n', '\n')
cleaned = cleaned.replace('\\r', '\n')
cleaned = cleaned.replace('\\', '')
我该怎么简化这段代码呢?
6 个回答
1
使用 decode('string_escape')
cleaned = stringwithslashes.decode('string_escape')
使用
string_escape : 生成一个适合在Python源代码中作为字符串字面量的字符串
或者像Wilson的回答那样,使用replace()进行连接。
cleaned = stringwithslashes.replace("\\","").replace("\\n","\n").replace("\\r","\n")
3
听起来你想要的可以通过正则表达式来比较高效地处理:
import re
def stripslashes(s):
r = re.sub(r"\\(n|r)", "\n", s)
r = re.sub(r"\\", "", r)
return r
cleaned = stripslashes(stringwithslashes)
13
我不太确定这是不是你想要的,不过……
cleaned = stringwithslashes.decode('string_escape')