Python 字符串提取数字

isdigit()

说明:isdigit() 函数是检测输入字符串是否只由数字组成。

如果字符串只包含数字则返回 True 否则返回 False。

使用:str.isdigit()

filter() 函数

说明:filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象;

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

使用:filter(function, iterable)

举例:获取所有的偶数

def is_even(n):
    return n % 2 == 0
  
tmplist = filter(is_even, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)
print(newlist)

提取字符串中的一串数字

import re
str_ = "12-30今天天气不错,16点出发"
number = re.findall("\d+",str_)    # 输出结果为列表
print(number)
  
# 输出结果:['12', '30', '16']

匹配指定字符串开头的数字

  string2 = "innerConsumer=209991134, innerGreyConsumer=fine, innerGreyProducer=fine"
    # 匹配“innerConsumer=”后面的数字
    pattern = re.compile(r'(?<=innerConsumer=)\d+\.?\d*')
    out2 = pattern.findall(string2)
    print(out2)
    
    #['209991134']

匹配时间,例如格式:hh:mm:ss

 string = "WARNING:innerGreyConsumer: 20221011 15:28:39 Initialize training"
    pattern = re.compile(r'\d{2}:\d{2}:\d{2}')
    out = pattern.findall(string)
    print(out)
    # ['15:28:39']



    pattern = re.compile(r'\d{4}\d{2}\d{2}\s\d{2}:\d{2}:\d{2}')
    out = pattern.findall(string)
    print(out)
    # ['20221011 15:28:39']

你可能感兴趣的:(python)