【问题标题】:parsing a string of ascii text into separate variables将一串 ascii 文本解析为单独的变量
【发布时间】:2010-05-11 21:58:37
【问题描述】:

我收到了一段文字,例如:

这是第一行\n\n这是第二行\n\n这是第三行

我想做的是把这个字符串分成三个独立的变量。 我不太确定如何在 python 中实现这一点。

感谢您的帮助, jml

【问题讨论】:

    标签: python string parsing tokenize


    【解决方案1】:
    a, b, c = s.split('\n\n')
    

    【讨论】:

    • 看起来这会将 s 变成一个列表元素。我怎样才能索引到它?
    • 它不会修改s。字符串是不可变的,因此字符串操作会返回一个新对象。
    【解决方案2】:

    可以使用拆分功能:

    s = 'ab\n\ncd'
    tokens = s.split('\n\n')
    

    那么tokens就是数组['ab', 'cd']

    编辑:我假设您的意思是您希望将示例拆分为 3 个字符串,但一般情况下,如果需要,将字符串拆分为 3 个字符串

    【讨论】:

      【解决方案3】:
      s1, s2, s3 = that_string_variable.split('\n\n')
      

      基本上,无论您将该字符串放入什么变量中,您都可以在要用作分隔符的标记上使用.split()(在本例中为'\n\n'),这将返回一个字符串列表。您可以使用“解包”进行分配,您可以在其中为每个要访问的元素指定多个变量。像上面这样的作业说“我知道右手边会给我三个元素,我希望它们按顺序进入s1s2s3

      【讨论】:

        【解决方案4】:

        要将其分解为包含 3 个元素的列表:

        mystring = "here is line one\n\nhere is line two\n\nhere is line three"
        listofthings = mystring.split("\n\n")
        

        然后您可以使用listofthings[0]listofthings[1]listofthings[2] 访问它们。

        将它们放在单独的实际变量中:

        mystring = "here is line one\n\nhere is line two\n\nhere is line three"
        a,b,c = mystring.split("\n\n")
        
        # a now contains "here is line one", et cetera.
        

        【讨论】:

        • mystring.split() 将在空格和结尾处拆分。
        • 哎呀,你是对的。这就是我醒来后立即发布的内容。固定。
        猜你喜欢
        • 2015-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-12
        • 2021-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多