python如何去掉换行符

11次阅读

最常用方法是strip()、rstrip()或replace():strip()去首尾空白(含换行),rstrip(‘n’)精准去右换行,replace()可替换所有位置的换行符。

python如何去掉换行符

python中去掉换行符,最常用、最直接的方法是用字符串strip()rstrip()replace() 方法,具体选哪个取决于你的需求:是要去掉开头结尾的换行、只去右边、还是全文替换所有换行符。

去掉字符串首尾的换行符和空白(推荐常用)

strip() 会同时移除字符串开头和结尾的所有空白字符(包括 nrt 和空格),适合读取文件行或用户输入后做清洗:

text = "n  hello world  rn" clean = text.strip()  # → "hello world"

  • 如果只要去掉右边(比如读文件时每行末尾的 n),用 rstrip(‘n’) 更精准;
  • rstrip() 不带参数,也会去掉所有尾部空白,包括 nrt
  • 若只去左边,对应的是 lstrip()

去掉字符串中所有的换行符(包括中间的)

replace() 可以把任意位置的换行符替换成空字符串或其他字符:

text = "line1nline2rnline3" no_newlines = text.replace('n', '').replace('r', '') # 或一步写成:text.replace('rn', '').replace('n', '').replace('r', '')

  • rnwindows 换行,nlinux/macOS,r 较少见但某些老系统存在;
  • 如果想统一转为空格,可写 text.replace('n', ' ').replace('r', ' ')
  • 正则 re.sub(r'[rn]+', ' ', text) 更灵活,适合复杂场景(如合并多换行为一个空格)。

读文件时自动避免换行符

file.readline()循环读取时,每行默认带末尾 n。可以边读边处理:

立即学习Python免费学习笔记(深入)”;

with open("file.txt") as f:     for line in f:         line = line.rstrip('n')  # 只去右边换行,保留左边空格         print(line)

  • readlines() 返回的列表里每行都含 n,建议改用 for line in f: 这种方式更省内存;
  • pathlib.Path("file.txt").read_text().splitlines() 会自动按行分割且不带换行符,非常简洁。

注意跨平台兼容性

不同系统换行符不同,单靠 .replace('n', '') 可能漏掉 rn。稳妥做法是:

  • strip()rstrip() 处理首尾 —— 它们默认识别所有空白;
  • 全文替换时,显式处理 rnnr 三者;
  • 或借助 os.linesep(当前系统换行符),但仅适用于生成文本,不适用于清理未知来源字符串。

text=ZqhQzanResources