You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python 2.7中将单独的\r或\n替换为\r\n?

在Python 2.7中替换单独的\r或\n为\r\n

需求明确:将输入字符串里所有单独出现的\r或单独出现的\n替换为\r\n。给定输入字符串:'hello\r\n\n world\n \r\r\n\r\n',期望输出:'hello\r\n\r\n world\r\n \r\n\r\n\r\n'

在Python 2.7中,用正则表达式可以简洁可靠地实现这个需求,具体代码如下:

import re

input_str = 'hello\r\n\n world\n \r\r\n\r\n'
# 匹配单独的\r(前后无\n)和单独的\n(前后无\r)
pattern = r'(?<!\n)\r(?!\n)|(?<!\r)\n(?!\r)'
output_str = re.sub(pattern, '\r\n', input_str)

print(repr(output_str))  # 输出带转义的字符串,方便验证结果

运行代码后,输出结果即为期望的:'hello\r\n\r\n world\r\n \r\n\r\n\r\n'

正则模式说明

  • (?<!\n)\r(?!\n):匹配未被\n包围的\r,也就是单独的回车符。(?<!\n)是负向后行断言,确保\r前不是\n;(?!\n)是负向前行断言,确保\r后不是\n。
  • (?<!\r)\n(?!\r):匹配未被\r包围的\n,也就是单独的换行符。(?<!\r)确保\n前不是\r,(?!\r)确保\n后不是\r。
  • 用|合并两种匹配场景,统一替换为\r\n即可完成需求。

内容的提问来源于stack exchange,提问作者Satyajit Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 09:15:55