我有一个多行字符串:
inputString = "Line 1\nLine 2\nLine 3"
我想要一个数组,每个元素最多有 2 行,如下所示:
outputStringList = ["Line 1\nLine2", "Line3"]
我可以在 python 中将 inputString 转换为 outputStringList 吗?任何帮助将不胜感激。
您可以尝试找到 2 行(在其中使用前瞻以避免捕获换行符)或仅找到一行(以处理最后的奇数行)。我扩展了你的例子以表明它适用于超过 3 行(有一点“作弊”:在最后添加一个换行符来处理所有情况:
import re
s = "Line 1\nLine 2\nLine 3\nline4\nline5"
result = re.findall(r'(.+?\n.+?(?=\n)|.+)', s+"\n")
print(result)
结果:
['Line 1\nLine 2', 'Line 3\nline4', 'line5']
“添加换行作弊”允许正确处理:
s = "Line 1\nLine 2\nLine 3\nline4\nline5\nline6"
结果:
['Line 1\nLine 2', 'Line 3\nline4', 'line5\nline6']
我是一名优秀的程序员,十分优秀!