【问题标题】:Python: split a string delimited by given object typePython:拆分由给定对象类型分隔的字符串
【发布时间】:2023-03-11 09:41:01
【问题描述】:

如果分隔符是 Python 数据类型,如何拆分字符串?

例如:

str_to_split = 'a1b2c'
str_to_split.split(int)
# ['a','b','c']

【问题讨论】:

    标签: python string split


    【解决方案1】:

    你可以使用re.split():

    >>> import re
    >>> thingToSplit = 'a1b2c'
    >>> re.split('\d+', thingToSplit)
    ['a', 'b', 'c']
    

    或者,申请isdigit()检查:

    >>> [item for item in thingToSplit if not item.isdigit()]
    ['a', 'b', 'c']
    

    【讨论】:

      【解决方案2】:

      你可以使用itertools.groupby,像这样

      from itertools import groupby
      print ["".join(g) for k,g in groupby('a1b2c', key=str.isdigit) if not k]
      # ['a', 'b', 'c']
      

      【讨论】:

      • 您应该可以使用groupby('a1b2c', key=str.isdigit) 而不是 lambda。
      • @iCodez 谢谢你 :) 我用你的建议更新了答案。
      猜你喜欢
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 2014-06-13
      相关资源
      最近更新 更多