Hen*_*ryM -2 python python-3.x
我有一个看起来像这样的字符串:
\n\xc2\xa325 - \xc2\xa330More than \xc2\xa330\xc2\xa320 - \xc2\xa325\xc2\xa320 - \xc2\xa325, More than \xc2\xa330, \xc2\xa325 - \xc2\xa330, \xc2\xa315 - \xc2\xa320, Up to \xc2\xa315\xc2\xa315 - \xc2\xa320\nRun Code Online (Sandbox Code Playgroud)\n即,它是按随机顺序组合在一起的多个范围,可能有或没有空格或逗号分隔符。
\n我想从中得到最大和最小值。我如何有效地做到这一点?我确信会有一个简单的正则表达式,但我看不到它
\n正则表达式可以帮助:
\n>>> import re\n>>> string = '\xc2\xa325 - \xc2\xa330More than \xc2\xa330\xc2\xa320 - \xc2\xa325\xc2\xa320 - \xc2\xa325, More than \xc2\xa330, \xc2\xa325 - \xc2\xa330, \xc2\xa315 - \xc2\xa320, Up to \xc2\xa315\xc2\xa315 - \xc2\xa320'\n>>> max(map(int, re.findall('\\d+', string)))\n30\n>>> \nRun Code Online (Sandbox Code Playgroud)\n编辑:
\n如果您有逗号值,例如3,000,请尝试:
>>> max(map(lambda x: int(x.replace(',', '')), re.findall('[\\d+,]+', string)))\n3000\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |