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
相关产品推荐
相关产品推荐

