Python 2.7打印字符串

时间:2015-09-24 12:33:27

标签: python

我想用下面的示例打印所有名称。名称每次都是随机的。

txt = "[something name=\"Paul\" other=\"1/1/1\"][something name=\"James\" other=\"4/3/5\"][something name=\"Victor\" other=\"7/2/6\"][something name=\"Jane\" other=\"4/3/6\"]"

我知道如何首先打印这些名字:

print str(txt[txt.index('[something name=\"')+17:txt.index(' other')-1])

但我该怎么打印?我需要在新行中打印所有名称:

Paul
James
Victor
Jane

2 个答案:

答案 0 :(得分:5)

看起来你可以在这里使用正则表达式:

\

打印:

import re
txt = "[something name=\"Paul\" other=\"1/1/1\"][something name=\"James\" other=\"4/3/5\"][something name=\"Victor\" other=\"7/2/6\"][something name=\"Jane\" other=\"4/3/6\"]"
for name in re.findall('name\=\\"(.*?)\\\"', txt):
    print name

答案 1 :(得分:1)

另一种方法是按如下方式拆分字符串:

txt = "[something name=\"Paul\" other=\"1/1/1\"][something name=\"James\" other=\"4/3/5\"][something name=\"Victor\" other=\"7/2/6\"][something name=\"Jane\" other=\"4/3/6\"]"

for x in txt.split(']'):
    if len(x):
        print x.split('"', 2)[1]

,并提供:

Paul
James
Victor
Jane