Python中的字符串拆分

时间:2015-09-14 15:09:23

标签: python string

我有十六进制字符串由于&fff f的出现而分开。不幸的是,f也可以出现在字符串中,最重要的是,在字符串的末尾(它不能在开头出现)。我需要分割一个字符串:

90500303040fff90500303040fff

分为:

90500303040f
90500303040f

基于字符串的方式是什么? (目前我在字节级别上进行此操作,但我想学习一种干净的字符串方式)

1 个答案:

答案 0 :(得分:1)

>>> [e for e in re.split(r'(.*?f)?ff', '90500303040fff90500303040fff') if e]
['90500303040f', '90500303040f']

或者,

>>> re.sub(r'(f?)ff', r'\1\n', '90500303040ff90500303040fff').splitlines()
['90500303040', '90500303040f']

或者,非正则表达式:

>>> '90500303040fff90500303040fff'.replace('fff', 'f\n').replace('ff','\n').splitlines()
['90500303040f', '90500303040f']