用Python解析字符串

PK1*_*K10 0 python string-parsing

我如何解析['FED590498']python中的字符串,因此我可以单独获取所有数值590498和字符FED.

一些样品:

['ICIC889150']
['FED889150']
['MFL541606']
Run Code Online (Sandbox Code Playgroud)

和[]不是字符串的一部分......

Mar*_*ers 5

如果字母数是可变的,则最简单的方法是使用正则表达式:

import re

characters, numbers = re.search(r'([A-Z]+)(\d+)', inputstring).groups()
Run Code Online (Sandbox Code Playgroud)

这假定:

  • 字母是大写的ASCII
  • 每个输入字符串中至少有1个字符和1个数字.

您可以通过使用{3, 4}而不是+将重复限制为仅3或4而不是至少1等来进一步锁定模式.

演示:

>>> import re
>>> inputstring = 'FED590498'
>>> characters, numbers = re.search(r'([A-Z]+)(\d+)', inputstring).groups()
>>> characters
'FED'
>>> numbers
'590498'
Run Code Online (Sandbox Code Playgroud)