python字符串内是否含有数字并将数字提取出

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]

结束语

有帮助就点个赞和关注咯。感谢各位。
西瓜6的啦啦啦

Guess you like

Origin blog.csdn.net/qq_37924224/article/details/115759840