从字符串中提取数字的最具Python风格的方法

从字符串中提取数字的最具Python风格的方法,python,regex,python-3.x,Python,Regex,Python 3.x,我有一个包含数字的字符串,以x开头,例如,“x270”或“x9”。它总是以x开头。我需要知道电话号码 我正在这样做: blatz = "x22" a1 = int(re.search("x(\d+)", blatz).group(1)) 这看起来不太像蟒蛇。我会欢迎更优雅的解决方案。使用re库似乎有些过分。您不必搜索模式,因为您的意思是每个字符串都以x开头 因此,您只需执行以下操作: blatz=“x22” a1=int(布拉茨[1:] 如果需要进一步检查,您可以查看和/或 虽然切片看起来很

我有一个包含数字的字符串,以x开头,例如,
“x270”
“x9”
。它总是以x开头。我需要知道电话号码

我正在这样做:

blatz = "x22"
a1 = int(re.search("x(\d+)", blatz).group(1))

这看起来不太像蟒蛇。我会欢迎更优雅的解决方案。

使用
re
库似乎有些过分。您不必搜索模式,因为您的意思是每个字符串都以
x
开头

因此,您只需执行以下操作:

blatz=“x22”
a1=int(布拉茨[1:]
如果需要进一步检查,您可以查看和/或

虽然切片看起来很像蟒蛇,但也有可能使用它来实现相同的目标:

blatz=“x22”
a2=int(blatz.lstrip(“x”))#从左侧剥离“x”
a3=int(blatz.partition(“x”)[-1])#获取“x”之后的所有内容
a4=int(blatz.replace(“x”,“x”)#用空字符串替换每个“x”
...
但是切片速度更快,对于Python程序员来说也没什么不寻常的。

请查看这个

import re

blatz = "x22"
print(re.search("\d", blatz).group())


如果它总是以
x
int(blatz[1:])
?tbh,这个问题太主观了,你没有真正的问题,你的代码可以工作,是的,谢谢。我的同事质疑我写的东西的优雅,所以我在寻找不同的东西。你已经把代码更新得更简单了(顺便说一下,我的答案!)如果你的代码运行良好,没有问题,请考虑把问题发布到。