0

所以这是我的 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 中做到这一点的任何想法?

4

4 回答 4

3

看起来像一份工作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'

虽然我更喜欢替换方法。

于 2013-10-01T23:43:38.390 回答
1

当然

print my_name.replace("<split>","\n")

显示

Hello
my
name
is
Max
于 2013-10-01T23:43:16.820 回答
1
print my_name.replace("<split>", "\n")
于 2013-10-01T23:44:00.133 回答
0

您可以使用内置函数拆分字符串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 的值。

于 2013-10-01T23:44:32.310 回答