猿问

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

因此,如果我输入一个字符串值,例如“3x3”或“12x10” - 我希望能够将第一个和第二个数字提取为整数。

例如,如果我输入 3x3,下边将是 3,上边将是 3。或者如果我输入 10x3,下边将是 10,上边将是 3。

什么是最干净的方法来做到这一点?

我知道我可以使用 int(string[index]) 访问和转换字符串中的字符,但是我如何处理输入的任何字符串?



皈依舞
浏览 513回答 3
3回答

慕容708150

您可以x用作分隔符来拆分字符串,然后将字符串映射到类型intnumber = "12x10"lower, upper = list(map(int, number.split('x')))# 12, 10number = "3x3"lower, upper = list(map(int, number.split('x')))# 3, 3

jeck猫

您可以尝试在字符串中的每个处使用字符串拆分x。或者使用正则表达式,如提到的其他答案之一。expression = "12x10x20x45x50x45"numbers = expression.split('x')print(numbers)示例输出['12', '10', '20', '45', '50', '50']
随时随地看视频慕课网APP

相关分类

Python
我要回答