Python 有没有一种特殊的方法可以在新行的开头输入字符?
当前我正在尝试实现一种在字符串中的每一行的开头输入“>”的方法 例如: 字符串:Python 有没有一种特殊的方法可以在新行的开头输入字符?,python,string,formatting,Python,String,Formatting,当前我正在尝试实现一种在字符串中的每一行的开头输入“>”的方法 例如: 字符串: "Hello how are you! Python is cool!" ">Hello how are you! >Python is cool!" 现在,这是一个大字符串,有一个断线。但是有没有一个函数可以确定断线的时间和地点?如上所述,我想在每一行的开头加一个“>”。像这样: 字符串: "Hello how are you! Python is cool!" ">Hello
"Hello how are you!
Python is cool!"
">Hello how are you!
>Python is cool!"
现在,这是一个大字符串,有一个断线。但是有没有一个函数可以确定断线的时间和地点?如上所述,我想在每一行的开头加一个“>”。像这样:
字符串:
"Hello how are you!
Python is cool!"
">Hello how are you!
>Python is cool!"
注意:字符串不是永久设置的,所以我必须解决这个问题
希望这是有道理的,谢谢你的帮助 只需将线拆分并连接:
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,否则换行符不包括在结果列表中
使用正则表达式查找非换行符组,并在以下字符之前插入
字符:
new_string = re.sub(r'[^\n]+', '>\g<0>', old_string) # be sure to import re
new_string=re.sub(r'[^\n]+','>\g',old_string)#确保导入re
除了您要求的内容外,该操作应与打印操作完全相同:
def newprint(*args,**kwargs):
to_print=“”.join([str(a)表示args中的a])
print(“>”,“\n>”。加入(to_print.splitlines()),**kwargs)
因此您的字符串是:'你好\n\nPython很酷“
是的,从技术上讲它是@MalikBrahimi,尽管它的设置类似于:''你好!(换行)Python很酷@MalikBrahimi,这只是使用join和设置keepends=TrueYeah的问题,我想你已经记下来了。就我个人而言,我甚至在不需要的时候也使用regex。谢谢,这很有效!虽然谢谢大家的回答,但我很感激。