Python,用短划线替换长划线?

Lew*_*uce 10 python replace python-2.x

我想用短划线(-)替换长短划线().我的代码:

if " – " in string:
      string = string.replace(" – ", " - ")
Run Code Online (Sandbox Code Playgroud)

导致以下错误:

SyntaxError:第76行文件./script.py中的非ASCII字符'\ xe2',但未声明编码; 有关详细信息,请参阅http://www.python.org/peps/pep-0263.html

我怎样才能解决这个问题?

San*_*mar 12

长划线不是ASCII字符.声明脚本的编码,就像这样(在某处):

#-*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)

旁边还有其他编码,utf-8utf-8如果不使用几乎涵盖所有(unicode)字符的ASCII字符,则使用它总是安全的.

有关详细信息,请参阅PEP 0263.

  • @Wooble:什么不是?`\ xe2`?将长短划线编码为UTF-8会产生第一个字节"\ xe2"(然后是`\ x80\x94`). (3认同)