zoukankan      html  css  js  c++  java
  • python从含有汉字和数字的字符串中提取数字部分

    我遇到的问题是:我想要从字符串“1小时12分钟”中(其中两个数字是变化的)截取出1和12.

    切片的方法比较简单,但不适合变化的字符串。

    filter(str.isdigit,"1小时12分钟")返回的列表是:['1','1','2']  但这个结果并不是我想要的。

    注,该方法在python2是直接返回列表,而在python3中返回的是filter对象,需要将其转换成list,方法是:list(filter(str.isdigit,"1小时12分钟"))

    正确的方法是:

    import re

    re.findall(r"d+",“1小时12分钟”)

    结果是:

    ['1','12']

    这个正是我想要的。

    对re.findall(r"d+",“1小时12分钟”)解释如下:

     re.findall 方法能够以列表的形式返回全部匹配的子串.
     r标识代表后面是正则的语句
     “d”是正则语法规则用来匹配0到9之间的数
    +表示匹配多个连续的数字。
     
  • 相关阅读:
    linux内核——进程切换宏switch_to
    android源码目录结构详解
    SRM 390(1-250pt)
    SRM 391(1-250pt)
    CodeForces 221(div 2)
    SRM 407(1-250pt, 1-500pt)
    SRM 392(1-250pt)
    SRM 393(1-250pt)
    CodeForces 220(div 2)
    SRM 406(1-250pt, 1-500pt)
  • 原文地址:https://www.cnblogs.com/jipinglong/p/9039494.html
Copyright © 2011-2022 走看看