7

次の文字列があり、エスケープを解除するためのベスト プラクティスを見つけようとしています。

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')

それらの線に沿って何かを試してみましたが、うまくいきませんでした。助言がありますか?ここで正規表現が最適ですか?

4

1 に答える 1

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
于 2012-05-03T08:18:15.023 に答える