首页 > 文章列表 > Python字符串合并:如何优雅地处理复杂换行符?

Python字符串合并:如何优雅地处理复杂换行符?

260 2025-03-22

Python字符串合并:如何优雅地处理复杂换行符?

Python字符串合并:巧妙应对复杂换行符

本文解决一个常见的Python字符串处理难题:如何根据特定规则合并多行字符串。

问题:给定一段多行文本,需按以下规则合并:句号(.)和感叹号(!)后的换行符保留;数字后跟顿号(、)前的换行符保留;其他换行符则合并。

直接使用正则表达式re.sub(r'n(?!d)', '', text)无法满足需求。

解决方案:采用更精确的正则表达式:re.sub(r'n(?![。!]s*|d+、s*)', '', text)

此正则表达式:

  • n: 匹配换行符。
  • (?!...): 负向零宽断言,确保不匹配以下情况:
    • [。!]s*: 句号或感叹号后跟零个或多个空格。
    • d+、s*: 一个或多个数字后跟顿号,再跟零个或多个空格。

通过负向零宽断言,我们精确地保留了指定规则下的换行符,实现了精准的字符串合并。 该方法能有效处理各种换行情况,满足所有条件。

来源:1741031392