在字符串中的某个条件之后拆分并创建一个新行

时间:2013-10-01 23:39:56

标签: python split

所以这是我的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 个答案:

答案 0 :(得分: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'

虽然我更喜欢替换方法。

答案 1 :(得分:1)

不确定

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

显示器

Hello
my
name
is
Max

答案 2 :(得分:1)

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

答案 3 :(得分:0)

您可以使用内置函数split拆分字符串。以下是使用生成器对象向每个子字符串追加新行的示例:

my_name_split = [s + '\n' for s in my_name.split("<split>")]

或者,如果您只想打印拆分字符串而不实际创建新变量,则只需使用"<split>""\n"替换为replace

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

请注意,这实际上并不会更改my_name的值。