所以这是我的 Python 代码:
my_name = "Hello<split>my<split>name<split>is<split>Max"
print my_name
结果将是:
Hello<split>my<split>name<split>is<split>Max
但我希望结果看起来像这样:
Hello
my
name
is
Max
标签“split”被删除并创建了一个新行。关于如何在 Python 中做到这一点的任何想法?
看起来像一份工作str.split()
:
>>> my_name = "Hello<split>my<split>name<split>is<split>Max"
>>>
>>> for s in my_name.split('<split>'):
... print s
...
Hello
my
name
is
Max
如果您希望将结果作为单个字符串,您可以str.replace()
像其他人提到的那样使用:
>>> import os
>>> my_name.replace('<split>', os.linesep)
'Hello\nmy\nname\nis\nMax'
或者您可以重新加入拆分:
>>> os.linesep.join(my_name.split('<split>'))
'Hello\nmy\nname\nis\nMax'
虽然我更喜欢替换方法。
当然
print my_name.replace("<split>","\n")
显示
Hello
my
name
is
Max
print my_name.replace("<split>", "\n")
您可以使用内置函数拆分字符串split
这是一个使用生成器对象将新行附加到每个子字符串的示例:
my_name_split = [s + '\n' for s in my_name.split("<split>")]
或者,如果您只想打印拆分字符串而不实际创建新变量,则可以简单地替换"<split>"
为"\n"
using replace
:
print my_name.replace("<split>","\n")
请注意,这实际上不会更改 my_name 的值。