用Python从字符串中提取整数

用Python从字符串中提取整数,python,split,Python,Split,我可以知道从字符串中提取int的其他方法吗 str_int='S1' int ( "".join ( [xx for xx in list ( str_int) if xx.isdigit ()] ) ) 我认为我目前的做法有些过分。 如果这篇文章被认为是重复的,请将我链接到相应的OP。使用正则表达式: import re str_int='S1' my_digits = re.findall(r'\d+', str_int) print(my_digits) ##

我可以知道从字符串中提取
int
的其他方法吗

str_int='S1'

int ( "".join ( [xx for xx in list ( str_int) if xx.isdigit ()] ) )
我认为我目前的做法有些过分。 如果这篇文章被认为是重复的,请将我链接到相应的OP。

使用正则表达式:

import re
str_int='S1'
my_digits = re.findall(r'\d+', str_int)
print(my_digits)


## output
['1']

“问题由多个单个数字组成(例如,S1 S11 S111等)”


只需删除第一个字符并将其余字符转换为整数:
int(s[1:])

使用regex
\d+
这是否回答了您的问题?最优解取决于字符串的结构。例如,如果整数前始终有4个字母,int(s[4:])比regex:)@costaparas Nope好,则问题基于由spaceHi@kol分隔的单词和数字,问题由多个单个数字组成(例如,S1 S11 S111等)。但是根据你的建议,我想我可以省略第一个字母,将剩余的str转换为int。顺便说一句,谢谢你的想法