利用解码()与正则表达式来反转义这个字符串(Using decode() vs. regex to

2019-09-16 16:53发布

我有以下字符串,我试图找出最佳实践进行反向转义它。

该解决方案必须是在稍微柔性的我从API接收到该输入,我不能绝对肯定的是,当前的字符结构( \n而不是\r )将始终是相同的。

'"If it ain\'t broke, don\'t fix it." \nWent in for a detailed car wash.\nThe attendants raved-up my engine when taking the car into the tunnel. NOTE: my car is...'

此正则表达式看起来像它应该工作:

text_excerpt = re.sub(r'[\s"\\]', ' ', raw_text_excerpt).strip()

我ASO读取decode()可能工作(和会是一个更好的解决方案通常情况下)。

raw_text_excerpt.decode('string_unescape')

试图沿着这些线路的东西,它没有工作。 有什么建议么? 正则表达式是最好的吗?

Answer 1:

你要找的编解码器是string-escape

>>> print "\\'".decode("string-escape")
'

我不知道是什么版本,他们加入它,但...可能是你使用的是没有它的旧版本。 我在跑:

Python 2.6.6 (r266:84292, Mar 25 2011, 19:36:32) 
[GCC 4.5.2] on linux2


文章来源: Using decode() vs. regex to unescape this string