You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

代码读取文件短语后下划线替代空格,如何修改为显示实际空格?

解决空格被替换成下划线的问题

嘿,我完全懂你遇到的麻烦——你的代码现在把读取到的短语里**所有字符(包括空格)**都替换成下划线了,导致原本的空格全变成了下划线,对吧?咱们马上就能把这个问题修复好。

问题根源

大概率你的代码是这样处理字符替换的:不管当前字符是不是空格,一律替换成下划线。比如类似这样的逻辑:

with open('your_file.txt', 'r') as file:
    phrase = file.read().strip()

# 错误逻辑:所有字符都替换成下划线
obscured_phrase = '_' * len(phrase)
print(obscured_phrase)

或者是遍历每个字符时没做判断:

obscured_phrase = ''
for char in phrase:
    obscured_phrase += '_'  # 空格也被替换了

修复方案

核心思路很简单:只对非空格的字符进行下划线替换,空格直接保留原样。这里给你两种简洁的实现方式:

方式一:列表推导式(直观易懂)

with open('your_file.txt', 'r') as file:
    phrase = file.read().strip()

# 只替换非空格字符,空格保持不变
obscured_phrase = ''.join(['_' if char != ' ' else ' ' for char in phrase])
print(obscured_phrase)

方式二:生成器表达式(更简洁高效)

如果处理的短语很长,生成器表达式在内存占用上会更友好:

with open('your_file.txt', 'r') as file:
    phrase = file.read().strip()

obscured_phrase = ''.join('_' if char != ' ' else ' ' for char in phrase)
print(obscured_phrase)

测试效果

假设你的文件里的短语是 "The quick brown fox",修复后的代码会输出:

___ _____ _____ ___

完美保留了单词之间的空格,只有字母被替换成下划线啦!

内容的提问来源于stack exchange,提问作者Isiah Jones

火山引擎 最新活动