【问题标题】:How to split a string by character sets that are different in python如何通过python中不同的字符集拆分字符串
【发布时间】:2022-06-28 14:42:29
【问题描述】:

我想将我拥有的字符串按与其他字符不同的字符拆分为一个列表。例如,如果我有字符串ccaaawq,我希望我的程序给我['cc', 'aaa', 'w', 'q']。由于每个拆分之间没有单一的区别,我想知道解决这个问题的最佳方法是什么。 提前感谢您的回答

【问题讨论】:

    标签: python split


    【解决方案1】:

    你可以使用itertools.groupby:

    from itertools import groupby
    
    s = "ccaaawq"
    
    out = ["".join(g) for _, g in groupby(s)]
    print(out)
    

    打印:

    ['cc', 'aaa', 'w', 'q']
    

    【讨论】:

      【解决方案2】:

      这是一个正则表达式查找所有方法:

      inp = "ccaaawq"
      output = [x[0] for x in re.findall(r'((.)\2*)', inp)]
      print(output)  # ['cc', 'aaa', 'w', 'q']
      

      上述方法通过匹配任何一个字符后跟同一个字符零次或多次来工作。然后将这些匹配存储在我们从二维列表输出中提取的第一个捕获组中。

      【讨论】:

      • 感谢您的回答。这很好用,我自己也想不出。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 2013-03-03
      • 2016-04-28
      • 1970-01-01
      • 2010-11-10
      • 2016-01-16
      • 1970-01-01
      相关资源
      最近更新 更多