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

时间:2017-07-27 12:13:22

标签: python

说我有这个字符串:

$('#avatar_form').submit(

如何在所有行的末尾添加内容?字符串中的行数可能会不时变化。

类似的东西:

""" 
iris
jonah
car
donut
"""

重复是字符串的名称。

此代码仅将“X”添加到第1行的末尾。

我怎样才能为每一行做到这一点?

期望的输出:

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

谢谢!

5 个答案:

答案 0 :(得分:5)

只需使用str.replace()

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

首先,按duplicate上的'\n'进行拆分:

splitted = duplicate.split('\n')

然后使用'x'在每行的末尾添加for,并在'\n'上加入这一行。 我在一个符号线上做两个操作:

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

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

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

答案 3 :(得分:0)

您可以使用map将函数应用于使用split获得的列表的所有元素,然后使用join单个字符串中的元素:

"\n".join(map(lambda word: word+"x", s.split("\n")))

答案 4 :(得分:0)

试试这个,使用list comprehension为每一行添加'X',然后用换行符连接它。

duplicate = """ 
iris
jonah
car
donut
"""

l = duplicate.split('\n')
l = [line + 'X' for line in l]
final = '\n'.join(l)