python - Python中的正斜杠replace()

标签 python string replace

我一直在研究 Python 2.7 中的字谜解算器,并遇到了一个我无法找到解释的好奇心。该程序从包含如下格式的字谜列表的文件中读取:

#    anagram
#    anagram
#    anagram
.
.
.
etc

直接将其读入字符串中,Python 显然会注释掉所有内容,因此我正在使用 Replace() 尝试找到一种去除散列字符的方法。正在尝试...

string = file.read().replace('#', '')

...将产生一个空字符串。我尝试在散列前面使用反斜杠,但搞错了并打错了正斜杠,这给了我结果:

string = file.read().replace('/#', '')
string = '#\tanagram\n#\tanagram\n#\tanagram'

在那时,删除不必要的字符是理所当然的事情,并且程序运行得非常完美。但是,我不满足于使用一行我不完全理解的代码。我没有太多运气找到任何文档或代码来解释/使我们做这样的事情,所以我要么在错误的地方寻找,要么在寻找错误的东西。

有人可以解释为什么它会这样吗?

最佳答案

试试这个:

[s.lstrip('#\t') for s in file.read().split('\n')]

Python 不会以任何方式在字符串中特殊对待 #,您不需要对其进行转义。

关于python - Python中的正斜杠replace(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4227373/

相关文章:

C89 - 从字符串中提取时间

PHP 或 Javascript : Simply Remove and Replace HTML Code

python - 基本 Docopt 示例不起作用

python - django 什么时候运行 OneToOneField 的查询?

python - 如何删除列表中的多个字符?

string - 未找到 str 的匹配方法

c# - 从 DateTime 值中删除正斜杠、冒号和 AM/PM

powershell - 链式 powershell 替换命令是否一个接一个地执行?

Python 提前离开循环

python - 如何通过Boto获取IAM策略文档