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

Python中给多行字符串添加普通字符串且不新增换行的实现方法

解决多行字符串拼接时的多余换行问题

你的问题出在多行字符串b的开头自带了一个换行符——因为你在"""之后直接换行了,所以b的实际内容是\nabc\nxyz\n。直接用f-string拼接后,这个开头的换行就会被保留,导致输出出现多余空行。

给你几种实用的解决方法:

  • 调整多行字符串的定义:把第一行内容和"""放在同一行,这样就不会产生开头的换行符:

    a = '1'
    b = """abc
    xyz
    """
    result = f'{a}- {b}'
    

    此时result的输出就是你想要的:

    1- abc
    xyz
    
  • 如果无法修改b的定义,就对b做预处理:
    用lstrip('\n')去掉开头的所有换行(只去掉开头的,不会影响中间的):

    result = f'{a}- {b.lstrip("\n")}'
    

    要是你用的是Python 3.9及以上版本,也可以用更直观的removeprefix('\n'),只移除开头的一个换行:

    result = f'{a}- {b.removeprefix("\n")}'
    
  • 用字符串替换去掉开头的换行:
    用replace方法只替换第一个换行符:

    result = f'{a}- {b.replace("\n", "", 1)}'
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 11:25:54