为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用正则表达式提取字符前后的数字?例如 5x5 或 12x5 - Python

如何使用正则表达式提取字符前后的数字?例如 5x5 或 12x5 - Python

皈依舞 2021-10-12 15:12:06
因此,如果我输入一个字符串值,例如“3x3”或“12x10” - 我希望能够将第一个和第二个数字提取为整数。例如,如果我输入 3x3,下边将是 3,上边将是 3。或者如果我输入 10x3,下边将是 10,上边将是 3。什么是最干净的方法来做到这一点?我知道我可以使用 int(string[index]) 访问和转换字符串中的字符,但是我如何处理输入的任何字符串?
查看完整描述

3 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

您可以x用作分隔符来拆分字符串,然后将字符串映射到类型int


number = "12x10"

lower, upper = list(map(int, number.split('x')))

# 12, 10


number = "3x3"

lower, upper = list(map(int, number.split('x')))

# 3, 3


查看完整回答
反对 回复 2021-10-12
?
jeck猫

TA贡献1909条经验 获得超7个赞

您可以尝试在字符串中的每个处使用字符串拆分x。或者使用正则表达式,如提到的其他答案之一。


expression = "12x10x20x45x50x45"

numbers = expression.split('x')

print(numbers)

示例输出

['12', '10', '20', '45', '50', '50']


查看完整回答
反对 回复 2021-10-12
  • 3 回答
  • 0 关注
  • 512 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号