繁体   English   中英

Python:读取txt文件后为string.replace(“ \\'”,“'”)

[英]Python: string.replace(“\'”,“'”) after reading txt file

当打开并读取包含标记'的文件时(就像在单词中不应该这样),python将其替换为''(最终不应该)。 我尝试运行以下代码:

a=open("file.txt")
b=a.read()
b=b.replace("\'", "'")

但是在运行第三行之后b仍然是相同的,可能是因为它读起来像“'”,好像它是“'”。 请帮忙。

你需要加倍斜杠:

b=b.replace("\\'", "'")

或使用r""原始字符串文字:

b=b.replace(r"\'", "'")

如果没有doubled斜杠或原始字符串文字, \\'被解释为espace代码,意思是'

双重检查您没有查看字符串表示,其中python 表示使用转义码'字符:

>>> '"' + "'"
'"\''
>>> print '"' + "'"
"'

在上面的例子中,我创建了一个包含双引号和单引号字符( "' )的字符串,Python回显给我作为字符串表示。使用print打印实际的字符串内容而不是表示。请注意Python是如何转义的在'报价为我那里。

“\\'“ 是相同的 ”'”。 反斜杠转义了',所以它没有执行其特殊功能。 如果您有一个带引号的字符串,那么该功能非常有用。 例如,字符串“” shouldn \\'t“”被打印为“ should n't”。

Python 3.3.0 (default, Dec 22 2012, 21:02:07) 
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 'shouldn't'
  File "<stdin>", line 1
    a = 'shouldn't'
                 ^
SyntaxError: invalid syntax
>>> a = 'shouldn\'t'
>>> a
"shouldn't"
>>> a = '"shouldn\'t'
>>> a
'"shouldn\'t'
>>> print(a)
"shouldn't

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM