【发布时间】:2011-07-19 18:51:30
【问题描述】:
我有一个字符串。在该字符串中是双反斜杠。我想把双反斜杠换成单反斜杠,这样unicode char码就可以正确解析了。
(Pdb) p fetched_page
'<p style="text-align:center;" align="center"><strong><span style="font-family:\'Times New Roman\', serif;font-size:115%;">Chapter 0<\\/span><\\/strong><\\/p>\n<p><span style="font-family:\'Times New Roman\', serif;font-size:115%;">Chapter 0 in \\u201cDreaming in Code\\u201d give a brief description of programming in its early years and how and why programmers are still struggling today...'
在这个字符串里面,可以看到转义的unicode字符代码,比如:
\\u201c
我想把它变成:
\u201c
尝试 1:
fetched_page.replace('\\\\', '\\')
但这不起作用——它会搜索四个反斜杠。
尝试 2:
fetched_page.replace('\\', '\')
但这会导致行尾错误。
尝试 3:
fetched_page.decode('string_escape')
但这对文本没有影响。所有双反斜杠都保留为双反斜杠。
【问题讨论】:
-
那些不是字符串中的双反斜杠,这就是为什么你不能摆脱它们 - 它只是显示字符串的工件。你的问题比你想象的要严重。
-
你说得对——问题比我原先想象的要严重。我的解决方案涉及重新设计我提取数据的方式,以防止额外的反斜杠首先进入我的字符串(而不是在事后尝试将它们剥离)。
-
@zzz 这个问题你解决了吗?