python字符串内是否含有数字并将数字提取出
函数
直接放函数哈。
输入字符串,返回列表。列表里装的就是提取出来数字哈,如果列表里是空的,就说明这个字符串里没有数字。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
@author: xigua6
"""
def get_num_from_str(word_str):
"""
从字符串中获取数字,并保存在列表中
Args:
word_str: `str`
Returns:
list_num: `list`
"""
list_num=[]
switch=0
str_num=""
for i in word_str:
if i.isdigit():
str_num+=i
else:
if str_num =="":
pass
else:
list_num.append(int(str_num))
str_num=""
if str_num =="":
pass
else:
list_num.append(int(str_num))
str_num=""
return list_num
测试一下
例子是
str_1 = "123456"
str_2 = "Abc"
str_3 = "123Abc"
str_4 = "Abc123"
str_5 = "123Abc456"
str_6 = "今天星期五,上午9:44,我骑车骑了2分钟,走了5分钟,和人说123sahncj34nv90"
print(get_num_from_str(str_1))
print(get_num_from_str(str_2))
print(get_num_from_str(str_3))
print(get_num_from_str(str_4))
print(get_num_from_str(str_5))
print(get_num_from_str(str_6))
结果
[123456]
[]
[123]
[123]
[123, 456]
[9, 44, 2, 5, 123, 34, 90]
结束语
有帮助就点个赞和关注咯。感谢各位。