如何在Python中将单行字符串拆分为多行(不使用\n)
解决方案
无需在原字符串中添加转义字符\n,可通过字符串分割与逐段打印实现多行输出:
s_n = "Bob: Hello Sandy: How are you? Bob: Confused by a python problem" # 分割出所有Bob对应的内容块,过滤空内容 blocks = [block.strip() for block in s_n.split("Bob:") if block] for idx, block in enumerate(blocks): # 打印Bob: print("Bob:") # 处理第一个包含Sandy的内容块 if idx == 0: # 拆分出Sandy相关内容和问题部分 hello_part, question_part = block.split(" Sandy: ") print(f" {hello_part} Sandy:") # 输出空行 print() print(f" {question_part}") else: # 直接缩进打印其他内容块 print(f" {block}") # 块之间添加空行(最后一个块除外) if idx != len(blocks) - 1: print()
输出效果:
Bob: Hello Sandy: How are you? Bob: Confused by a python problem
思路说明:
- 通过
split("Bob:")拆分原字符串,提取每个Bob对应的内容片段; - 遍历片段时先固定打印"Bob:",再根据内容结构处理缩进和换行;
- 利用
print()输出空行,全程不在字符串中使用\n转义字符。
内容的提问来源于stack exchange,提问作者Sirkey
相关产品推荐
相关产品推荐

