当前我正在尝试实现输入“>”的方法在字符串中每个单独行的开头。
一个例子是:
字符串:
"Hello how are you!
Python is cool!"
现在这是一个大字符串,换行符。但有没有一个函数来确定换行的时间和地点?正如我上面所说,我想加入一个“>”在每个新行的开头。像这样:
字符串:
">Hello how are you!
>Python is cool!"
注意:字符串不是永久设置的,所以我必须解决这个问题。
希望这是有道理的,谢谢你的帮助!
答案 0 :(得分:2)
只需分割线条和连续点:
lines = """Hello how are you!
Python is cool!"""
for line in lines.splitlines():
if line:
print(">" + line)
else:
print(line)
>Hello how are you!
> Python is cool!
要获取新字符串并保持换行设置keepends = True:
new_s = "".join([">{}".format(line) if line.strip() else line
for line in lines.splitlines(True)])
print(new_s)
>Hello how are you!
> Python is cool!
<强> str.splitlines([keepends])强>
返回字符串中的行列表,在行边界处断开。此方法使用通用换行方法来分割线。除非给出了keepends并且为true,否则换行符不会包括在结果列表中。
答案 1 :(得分:1)
使用正则表达式查找非换行符的组,并在以下位置插入>
字符:
new_string = re.sub(r'[^\n]+', '>\g<0>', old_string) # be sure to import re
答案 2 :(得分:1)
除了您的要求外,这应该与print
完全相同:
def newprint(*args, **kwargs):
to_print = " ".join([str(a) for a in args])
print(">", "\n> ".join(to_print.splitlines()), **kwargs)