• 技术文章 >常见问题 >Python常见问题

    python怎么找出所有的数字?

    yangyang2020-05-27 11:22:39原创4671

    python中获取字符串中所有数字的方法:

    1、使用正则表达式获取

    # -*- coding: cp936 -*-
    import re
    
    string="A1.45,b5,6.45,8.82"
    print re.findall(r"\d+\.?\d*",string)
    
    # ['1.45', '5', '6.45', '8.82']

    代码编写思路:

    既然是提取数字,那么数字的形式一般是:整数,小数,整数加小数;所以一般是形如:—-.—–;

    根据上述正则表达式的含义,可写出如下的表达式:”\d+.?\d*”;

    2、通过循环遍历字符串来获取字符串中所有数字

    s = "dede323frf54de23"
    l = len(s)
      
    numbers = []
      
    i = 0
    while i < l:
        num = ''
        symbol = s[i]
        while '0' <= symbol <= '9': # symbol.isdigit()
            num += symbol
            i += 1
            if i < l:
                symbol = s[i]
            else:
                break
        i += 1
        if num != '':
            numbers.append(int(num))
      
    print(numbers)

    输出结果如下:

    [323, 54, 23]

    更多Python知识请关注Python自学网

    专题推荐:python
    上一篇:python怎样获取json数据类型? 下一篇:python如何获取列表里的数据类型?

    相关文章推荐

    • 怎么在cmd中查找安装好的Python2• python如何生成随机序列?• 怎么用vs编python文件• python中负数次方怎么表示?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网