擅长:python、mysql、java
<p>这很管用。我使用明显的非ASCII字符串进行测试:</p>
<pre><code>#!python2
#coding:utf8
import re
supportProjectDict = {u'名字':u'马克'} # Note Unicode strings
line = '名字, 有空吗?' # Note NOT Unicode string.
for key, value in supportProjectDict.iteritems():
line = re.sub(r'%s,' % key, r'%s,' % value, line.decode('utf-8'), flags=re.UNICODE)
print line
</code></pre>
<p>最好在任何地方都使用Unicode:</p>
^{2}$
<p>格式字符串在这个实例中并不重要,因为它们是ASCII,python2将<code>.decode('ascii')</code>隐式地转换为Unicode字符串,但最好是显式的。仅供参考,Python3不进行隐式编码/解码,因此更容易捕获这些错误。在</p>