我有以下字符串,我正在试图找出解决它的最佳做法。
解决方案必须有点灵活,因为我从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()
我已经读过decode()
可能有效(并且通常会成为更好的解决方案)。
raw_text_excerpt.decode('string_unescape')
沿着这些方向尝试了一些东西并且没有用。有什么建议?正则表达式在这里最好吗?
答案 0 :(得分:16)
您正在寻找的编解码器是string-escape
:
>>> print "\\'".decode("string-escape")
'
我不确定他们添加了什么版本,但是......可能是你正在使用的旧版本没有它。我正在跑步:
Python 2.6.6 (r266:84292, Mar 25 2011, 19:36:32)
[GCC 4.5.2] on linux2