Python文本清洗:换行符致单词拆分问题求解
Python文本换行清洗:区分连字符断词与普通换行
你的问题核心是要区分两类换行场景,针对性处理即可:
- 场景1:单词被
-打断后换行(如in-\nsured),需要合并为完整单词 - 场景2:换行分隔两个独立单词(如
as\nan),需要替换为空格分隔
用正则表达式可以精准处理这两种情况,以下是实现代码:
import re input_text = """have agreed in- sured as an per- son in writing in a contract or agreement""" # 1. 先处理连字符+换行的断词,合并为完整单词 processed_text = re.sub(r'-\n', '', input_text) # 2. 将剩余换行替换为空格,并清理多余空白字符 cleaned_text = re.sub(r'\s+', ' ', processed_text).strip() print(cleaned_text)
代码说明
re.sub(r'-\n', '', input_text):精准匹配-紧跟换行的模式,直接移除这两个字符,实现in-+换行+sured→insured的合并。re.sub(r'\s+', ' ', processed_text).strip():把所有连续空白(包括换行、多个空格)替换为单个空格,最后去除首尾空格,保证文本格式整洁。
运行后输出结果完全符合你的期望:
have agreed insured as an person in writing in a contract or agreement
内容的提问来源于stack exchange,提问作者user21785694
相关产品推荐
相关产品推荐

