网站首页 > 知识剖析 正文
在 Python 中,删除空白可以分为几种不同的情况,常见的是针对字符串或列表中空白字符的处理。
一、删除字符串中的空白
1. 删除字符串两端的空白(空格、\t、\n 等)
使用 .strip() 方法:
s = " Hello, world! "
clean_s = s.strip()
print(clean_s) # 输出:'Hello, world!'
- s.strip():去除首尾空白
- s.lstrip():去除左侧空白
- s.rstrip():去除右侧空白
2. 删除字符串中间的所有空白字符
使用 str.replace() 或正则表达式 re.sub():
方法一:replace()(只处理空格)
s = "Hello world"
clean_s = s.replace(" ", "")
print(clean_s) # 输出:'Helloworld'
方法二:使用 re.sub() 删除所有类型的空白字符
import re
s = "Hello\t world\nPython"
clean_s = re.sub(r"\s+", "", s)
print(clean_s) # 输出:'HelloworldPython'
说明:
- \s 表示所有空白字符(空格、制表符、换行符等)
- + 表示一个或多个
3. 删除字符串中连续空格保留一个
如果想将多个空格变成一个空格:
import re
s = "Hello world Python"
clean_s = re.sub(r"\s+", " ", s)
print(clean_s) # 输出:'Hello world Python'
二、删除列表中的空字符串或空白项
1. 删除列表中完全为空的项("" 或 " ")
lst = ["apple", "", "banana", " ", "cherry"]
clean_lst = [item for item in lst if item.strip()]
print(clean_lst) # 输出:['apple', 'banana', 'cherry']
说明:
- item.strip() 为 False 时表示空白项(包括空格、换行、制表符等)
三、删除文件中每行的空白(比如清理文本文件)
with open("example.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
clean_lines = [line.strip() for line in lines if line.strip()]
with open("cleaned.txt", "w", encoding="utf-8") as f:
f.writelines(line + "\n" for line in clean_lines)
说明:
- line.strip() 去除首尾空白
- if line.strip() 避免空行写入
四、删除多维结构中的空白(如嵌套列表)
data = [["a", " "], ["", "b", "c"], [" ", ""]]
clean_data = [[item for item in sublist if item.strip()] for sublist in data]
print(clean_data) # 输出:[["a"], ["b", "c"], []]
总结:常用方法一览表
方法 | 说明 |
s.strip() | 删除字符串首尾空白 |
s.replace(" ", "") | 删除所有空格 |
re.sub(r"\s+", "") | 删除所有空白字符 |
s.split() + ' '.join() | 去除多余空格,保留单个空格 |
列表推导式 + strip() | 删除列表中空白项 |
猜你喜欢
- 2025-07-06 Polars:最强 Pandas 平替?(python怎么安装pandas库)
- 2025-07-06 JavaScript中去掉字符串中的斜杠'/'的常用方法
- 2025-07-06 6、告别Ctrl+c/v!解锁VBA复制粘贴超能力(零基础入门)
- 2025-07-06 三十分钟入门基础Go(Java小子版)(java小白入门)
- 2025-07-06 js中的正则表达式入门(js中正则表达式的用法)
- 2025-07-06 Pandas之str方法处理字符串(pandas str.match)
- 2025-07-06 Java中字符串填充零和去零的常用方法
- 2025-07-06 python入门到脱坑正则表达式—re.sub()函数
- 2025-07-06 Wordpress建站教程:网站添加自动Tag标签内链 提升SEO优化效果
- 2025-07-06 每天3分钟Python基础-str字符串(python中str(10/2))
- 最近发表
-
- jQuery EasyUI使用教程:创建展开行详细编辑表单的CRUD应用
- CSDN免登陆复制代码的几种方法(csdn扫码登录怎么实现的)
- LayUi提高-Select控件使用(layui form select)
- 用 Playwright MCP 让 AI 改它自己写的屎山代码
- multiple-select.js中手动设置全选和取消全选
- 前端实现右键自定义菜单(html 自定义右键菜单)
- JavaScript脚本如何断言select下拉框的元素内容?
- 广州蓝景分享—实用的CSS技巧,助你成为更好的前端开发者
- MyBatis-Plus码之重器 lambda 表达式使用指南,开发效率瞬间提升80%
- Go语言之select的使用和实现原理(go select case)
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)