在Python中分割分号分隔的字符串

7 投票
3 回答
41396 浏览
提问于 2025-04-16 22:59

我想把一个用分号分隔的字符串拆分开,这样我就可以把每个单独的字符串存起来,用于在XML标签之间显示,使用的是Python语言。这个字符串的样子是这样的:

08-26-2009;08-27-2009;08-29-2009

它们只是以字符串形式存储的日期

我想逐个遍历这些值,把它们存到一个变量里,然后在最后的代码中调用这个变量:

for element in iter:
    # Look for a tag called "Timeinfo"
    if element.tag == "timeinfo":
        tree = root.find(".//timeinfo")
        # Clear all tags below "timeinfo"
        tree.clear()
        element.append(ET.Element("mdattim"))
        child1 = ET.SubElement(tree, "sngdate")
        child2 = ET.SubElement(child1, "caldate1")
        child3 = ET.SubElement(child1, "caldate2")
        child4 = ET.SubElement(child1, "caldate3")
        child2.text = FIRST DATE VARIABLE GOES HERE
        child2.text = SECOND DATE VARIABLE GOES HERE
        child2.text = THIRD DATE VARIABLE GOES HERE

任何帮助都非常感谢。

3 个回答

3

当你有一些变量,名字叫child1、child2、child3和child4时,这其实是在提醒你,应该用一个列表或者其他集合来处理这些数据。

children =  [ET.SubElement(tree, "sngdate")]
children += [ET.SubElement(children[0], "caldate%s" % i) for i in xrange(3)]

原本四个独立的变量,现在变成了一个包含四个元素的列表。这样你就可以方便地更新每个项目中的日期了:

dates = "08-26-2009;08-27-2009;08-29-2009"

for i, d in enumerate(dates.split(";")):
    children[i+1].date = d

你可以把这个方法调整一下,适用于任意数量的项目,即使你事先不知道有多少个项目。

4

在编程中,有时候我们会遇到一些问题,想要找到解决办法。比如,有人可能在使用某个工具或语言时,发现它的某个功能不太好用,或者出现了错误。这时候,他们会在网上寻找帮助,像是在StackOverflow这样的论坛上提问。

在这些论坛上,其他有经验的人会看到问题,并给出建议或者解决方案。他们可能会分享一些代码示例,帮助提问者更好地理解如何解决问题。这样的互动不仅能帮助提问者,也能让其他人从中学习到新的知识。

总之,编程过程中遇到问题是很正常的,利用好这些社区资源,可以让我们更快地找到解决办法,提升自己的技能。

child2.text, child3.text, child4.text = three_dates_text.split(';')
21

Split这个函数会返回一个列表,具体内容如下:

>>> a="08-26-2009;08-27-2009;08-29-2009"
>>> a_split = a.split(';')
>>> a_split
['08-26-2009', '08-27-2009', '08-29-2009']

撰写回答