Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用decode()vs.regex来取消显示此字符串_Python_Regex_String_Escaping_Decode - Fatal编程技术网

Python 使用decode()vs.regex来取消显示此字符串

Python 使用decode()vs.regex来取消显示此字符串,python,regex,string,escaping,decode,Python,Regex,String,Escaping,Decode,我有下面的字符串,我正试图找出避开它的最佳实践 解决方案必须具有一定的灵活性,因为我从API接收此输入,并且我不能绝对确定当前字符结构(\n与\r)是否始终相同 ““如果它没有坏,就不要修理它。”\n我正在仔细洗车。\n服务员把车开进车库时,把我的引擎弄得乱七八糟 隧道。注意:我的车是……’ 这个正则表达式似乎应该可以工作: text_excerpt = re.sub(r'[\s"\\]', ' ', raw_text_excerpt).strip() 我已经读到,decode()可能有效(通

我有下面的字符串,我正试图找出避开它的最佳实践

解决方案必须具有一定的灵活性,因为我从API接收此输入,并且我不能绝对确定当前字符结构(
\n
\r
)是否始终相同

““如果它没有坏,就不要修理它。”\n我正在仔细洗车。\n服务员把车开进车库时,把我的引擎弄得乱七八糟
隧道。注意:我的车是……’

这个正则表达式似乎应该可以工作:

text_excerpt = re.sub(r'[\s"\\]', ' ', raw_text_excerpt).strip()
我已经读到,
decode()
可能有效(通常是更好的解决方案)


尝试了一些类似的方法,但没有成功。有什么建议吗?regex是这里最好的吗?

您正在寻找的编解码器是
字符串转义

>>> print "\\'".decode("string-escape")
'
我不知道他们添加了什么版本,不过。。。可能是您正在使用的旧版本,但没有。我在跑步:

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

这似乎是一个足够公平的解决方案。你可以用lstrip代替strip,但这是一个很小的挑剔。谢谢Wes。我想我想让它和strip保持通用,但可能不需要。你知道我如何用decode而不是regex实现相同的输出吗?似乎没有你尝试使用的编解码器:
Python 2.6.6 (r266:84292, Mar 25 2011, 19:36:32) 
[GCC 4.5.2] on linux2