python删除文字中多余的空格和空行

博客介绍了使用Python正则表达式删除文字中多余空格和空行的方法,通过`re.sub`函数,将`[\n]+`替换为`\n`来实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如要要删除文字中多余的空格和空行:

import re
re.sub(’[\n]+’, ‘\n’, 'text ')

### 使用正则表达式处理字符串 #### 删除空格 对于删除字符串中的所有类型的空白字符(包括但不限于空格),可以采用如下方式: - 正则表达式 `\s+` 可用于匹配所有的空白字符,这不仅限于普通的空格还包括制表符、换行符等[^4]。 ```python import re text = " Hello\tWorld! " cleaned_text = re.sub(r'\s+', '', text) print(cleaned_text) # 输出 HelloWorld! ``` #### 删除空行 为了移除文本中的空行,可以根据特定的模式进行操作。当目标是消除由回车`\r`换行符`\n`构成的空行时,可利用以下方法: - 行首与行尾之间的仅含空白字符的内容可以通过 `^\s*$` 来识别并替换为空串,从而达到清除空行的效果[^3]。 ```python multi_line_text = """Line one Line three""" no_blank_lines = re.sub(r'^\s*$', '', multi_line_text, flags=re.MULTILINE) print(no_blank_lines.strip()) # 注意这里的strip()是为了去掉可能存在的最外层空白, # 结果为两行文字间无多余空行:"Line one\n\nLine three" ``` #### 移除特殊字符 针对非字母数字以及指定符号以外的所有其他字符(通常视为“特殊字符”),可通过定义否定字符集的方式来进行过滤: - 若要保留标准ASCII范围内的可见字符而排除其余部分,则可以用 `[^A-Za-z0-9 ,.!?\-\[\]]+` 这样的模式来表示要被剔除的部分;当然具体允许哪些字符取决于实际需求[^1]。 ```python special_chars_removed = re.sub(r'[^A-Za-z0-9,.!?\-]', '', cleaned_text) print(special_chars_removed) # 如果输入的是"Helloworld!" 则输出 Helloworld! ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值