所以我有一个例如"abdc54sgh"
的字符串,我需要从字符串中复制54。问题是数字之前的变化可能会有所不同。 E.J。字符串可以是"hjsd23jsy"
或"abvt12hbsy"
或任何其他字符串。所以我只需要复制第一个中的数字23和第二个中的数字12并将其分配给变量。
答案 0 :(得分:5)
使用正则表达式:
import re
s = "abdc54sgh"
pattern = re.compile("\d+")
pattern.findall(s)
或列表理解和isdigit()
:
s = "abdc54sgh"
int("".join([x for x in s if x.isdigit()]))
答案 1 :(得分:1)
尝试以下方法:
def takeInt(st):
return int("".join([ch for ch in st if not ch.isalpha()]))
>>> takeInt("hjsd23jsy")
23
>>> takeInt("abvt12hbsy")
12
>>>