如何在 python 中为纯文本添加后缀

How to add suffix to a plain text in python

我有以下文字要通过邮件发送。我必须将它转换为 html,因此我必须向每个行分隔符添加
.

我怎样才能以适合我的方式去做? 这是我的尝试。

text = """
Hi, my name is John,
Regards
"""

strString = map(lambda x: x + '<br>', text)
print(list(strString))
['\n<br>', 'H<br>', 'i<br>', ',<br>', ' <br>', 'm<br>', 'y<br>', ' <br>', 'n<br>', 'a<br>', 'm<br>', 'e<br>', ' <br>', 'i<br>', 's<br>', ' <br>', 'J<br>', 'o<br>', 'h<br>', 'n<br>', ',<br>', '\n<br>', 'R<br>', 'e<br>', 'g<br>', 'a<br>', 'r<br>', 'd<br>', 's<br>', '\n<br>']

Desired output
text = """
Hi, my name is John,<br>
Regards<br>
"""
text
'\nHi, my name is John,<br>\nRegards<br>\n'

您可能正在寻找 替换 换行符

>>> text = """
... Hi, my name is John,
... Regards
... """
>>> import re
>>> print(re.sub(r"\n", "<br>\n", text))
<br>
Hi, my name is John,<br>
Regards<br>

或者,您可以使用 <pre> (preformatted text) 按原样写出文本! (虽然它更适合代码块,可能不适合其他文本)

<pre>
Hi, my name is John,
Regards
</pre>

正如 PacketLoss 指出的那样,如果您只有一个微不足道的 character/substring 需要替换,使用字符串的 .replace() 方法很好并且可能 better/clearer!

如果你想用 <br> 替换所有新行 \n 你可以简单地使用 string.replace()

print(text.replace('\n', '<br>'))
#<br>Hi, my name is John,<br>Regards<br>

要保留新行,只需修改替换值即可。

print(text.replace('\n', '<br>\n'))
<br>
Hi, my name is John,<br>
Regards<br>