【问题标题】:python find specific variable in stringpython在字符串中查找特定变量
【发布时间】:2015-01-22 19:49:26
【问题描述】:

我一直在寻找答案,但我真的找不到它,感谢任何可能的答案!

我正在浏览一个充满随机文本的 html 文档,并且我正在寻找特定日期格式的内容:

%%/%%/%% 或 %%-%%-%%

两个问题: 1-是否可以在指定 %s 的种类(在这种情况下为两位数)时执行类似 str.find(%s/%s/%s) 的操作?

2-是否可以在执行 .find 时将 %s 分配给变量?因为像 str.find(%s/%s/%s) % ( d,m,y) 这样的东西会报错。

为实现这一点的 python 代码点赞! 谢谢!

【问题讨论】:

    标签: html string find variable-assignment


    【解决方案1】:

    是的,很有可能。在这种情况下,Regular expressions 将成为你最好的朋友。

    对于您给出的示例,您正在寻找诸如“xx/xx/xx”之类的内容,使得每个“x”都是一个数字,以下正则表达式将完成这项工作:\d\d[/]\d\d[/]\d\d

    这是它在 Python 中的工作方式:

    import re
    pattern = re.compile('\d\d[/]\d\d[/]\d\d')
    pattern.findall(' sadfsd  04/06/76   kjadsf 10/10/14  ')
    

    在你的 Python 解释器中尝试一下,你会得到一个匹配子字符串的列表:

    ['04/06/76', '10/10/14']
    

    如果您想单独提取日、月和年,请使用括号对正则表达式的这些部分进行分组。像这样:

    import re
    pattern = re.compile('(\d\d)[/](\d\d)[/](\d\d)')
    pattern.findall(' sadfsd  04/06/76   kjadsf 10/10/14  ')
    

    这会得到一个元组列表:

    [('04', '06', '76'), ('10', '10', '14')]
    

    【讨论】:

    • 感谢超级快速的回复!我想我会深入研究它们。它甚至涵盖了第二个问题吗?
    • 第二个问题没看懂。您是否尝试单独获取这些值?换句话说,将日期子字符串分配给d,等等?
    • 是的,很糟糕,它的介绍很糟糕,但您已经用您的快速回答回答了我的 2dn 问题。非常感谢!
    • 我用一个额外的例子更新了我的答案。如果我已经完全回答了您的问题,请接受并投票赞成我的回答。
    • 遗憾的是,我还没有足够的声誉来支持你,但这只是几天的事情,我会再次感谢你!
    猜你喜欢
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 2014-02-14
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多