提问者:小点点

将文本添加到字符串中所有行的末尾


假设我有这条线:

""" 
iris
jonah
car
donut
"""

我如何在所有行的末尾添加一些东西?字符串中的行数可能会随时间变化。

类似于:

l = duplicate.split('\n')
l[1]+= 'X'
l = '\n'.join(l)
print(l)

字符串名称重复。

此代码仅在第1行末尾添加“X”。

我怎样才能对每一行都做到这一点呢?

所需输出:

""" 
irisX
jonahX
carX
donutX
"""

谢啦!


共3个答案

匿名用户

首先,按照您在“\n”上执行的重复拆分:

splitted = duplicate.split('\n')

然后在每行末尾添加'x',并在'\n'上连接这些行。我在一行中执行这两个操作:

"\n".join(line + "x" for line in splitted)

如果您不熟悉生成器表达式,这有点类似于:

withSuffixes = []
for line in l:
    withSuffixes.append(splitted + "x")
"\n".join(withSuffixes)

匿名用户

只需使用str.replace():

addition = 'X'
new_string = duplicate.replace('\n', addition + '\n')

匿名用户

删除l[1]+='x'行,并将l='\n'.join(l)更改为l='x\n'.join(l)