我有十六进制字符串由于&fff f的出现而分开。不幸的是,f也可以出现在字符串中,最重要的是,在字符串的末尾(它不能在开头出现)。我需要分割一个字符串:
90500303040fff90500303040fff
分为:
90500303040f
90500303040f
基于字符串的方式是什么? (目前我在字节级别上进行此操作,但我想学习一种干净的字符串方式)
答案 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']