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

    python怎么找出所有的数字?

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

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

    1、使用正则表达式获取

    1

    2

    3

    4

    5

    6

    7

    # -*- 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、通过循环遍历字符串来获取字符串中所有数字

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    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学习网