【问题标题】:Print all substrings, no matter how many there are [duplicate]打印所有子字符串,无论有多少[重复]
【发布时间】:2020-12-22 09:24:14
【问题描述】:

所以我有这段代码,我在其中创建一个带有子字符串的列表: '''

string = "|01|12345|TEXT1|TEXT2|"

x = string.count("|")

if string.count('|') == 3:

    subst = string.strip('|').split('|')

    print(substr)

else:

    substr = string.strip('|').split('|')

    print(substr)

'''

结果:

'''

['01', '12345', 'TEXT1', 'TEXT2']

'''

但是,我想打印结果是这样的所有子字符串:

'''

[LAS|01|G12345|TEXT1|TEXT2|<CR>|]

'''

我知道我能做到:

'''

print("[LAS|" + substr[0] + "|G" + substr[1] + "|" + substr[2] + "|" + substr[3] + "|<CR>|]")

'''

但是这是硬编码的,如果我得到的字符串变成了更多的子字符串怎么办?我不想使用分配的 if 语句,如果 ('|') == 4、== 5、== 6 等的计数。

我如何确保我打印的内容包含所有子字符串。并且在每个子字符串之间都有一个管道符号 (|)。

谢谢,

【问题讨论】:

  • 查看string.split("|") 制作子字符串。
  • 使用str.strip.split:s.strip("|").split("|")

标签: python list printing


【解决方案1】:

假设您不想要第一个字符 vbar 之前的空字符串或最后一个字符 vbar 之后的空字符串,我会尝试:

string = "01|12345|TEXT1|TEXT2|TEXT3|"
x = string.split("|")
if x[0] == "":
    x = x[1:]
if x[-1] == "":
    x = x[:-1]

【讨论】:

    【解决方案2】:

    使用str.split 来创建子字符串,使用str.strip 来删除可能导致空子字符串的前导和尾随管道:

    string = "01|12345|TEXT1|TEXT2|TEXT3|"
    
    if string.count('|') == 3:
        # Do something
    else:
        substrings = string.strip('|').split('|')
        # Do something
    

    【讨论】:

    • 很好地使用了条带,这应该比我的回答更受欢迎。
    【解决方案3】:

    您可以使用字符串的split 方法。

    string = "01|12345|TEXT1|TEXT2|TEXT3|"
    
    substring = filter(lambda x: x =! '', string.split('|'))
    print(substring)
    
    

    【讨论】:

      【解决方案4】:

      您可以使用该代码

      chain = "|01|12345|TEXT1|TEXT2|Text3|"
      
      result = chain.strip('|').split('|')
      

      【讨论】:

        【解决方案5】:

        我想你想要这样的东西:

        split_string = string.split("|")
        

        如果变量字符串是:

         "aa|bb|cc|dd"
        

        变量 split_string 将是:

         ["aa","bb","cc","dd"]
        

        然后,列表“split_string”的每个索引都将是您想要的子字符串之一。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-06-26
          • 2017-03-30
          • 2015-08-24
          • 2019-08-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多