Python中如何移除"Hello Guys"字符串里Guys前的空格?
问题根因
你写的代码存在3个逻辑问题,导致无法得到移除空格的效果:
- 逐字符遍历字符串时,
i是单个字符,执行i.split(" ")后没有接收返回值,这行代码不会产生任何实际作用 - 检测到空格时执行的
print()会额外输出换行,把原本的单行字符串拆成了两行 - 没有做空格跳过逻辑,检测到空格后依然会执行后续的打印语句,空格本身还是会被输出
可运行的修改方案
保留原有循环逻辑的写法
如果你想保持逐字符遍历的实现思路,只需要在碰到空格时直接跳过打印,删掉无效的split和多余的换行打印即可:
name = "Hello Guys" for i in name: if i == " ": continue print(i, end="")
运行后会直接输出HelloGuys,没有多余空格和换行。
更简洁的Python原生实现(推荐)
日常开发中不需要手动写循环处理这类字符串需求,直接用Python内置的字符串方法即可:
- 如果需要移除字符串中所有空格,用
replace()方法全局替换空格为空:
name = "Hello Guys" print(name.replace(" ", ""))
- 如果字符串中存在其他空格、仅需要移除"Guys"前方紧挨着的那一个空格,可以直接定位子串替换:
name = "Hello Guys" print(name.replace(" Guys", "Guys"))
内容的提问来源于stack exchange,提问作者Navdeep Thakur
相关产品推荐
相关产品推荐

