【问题标题】:Multiple strings to search within a string in python [closed]在python中的字符串中搜索多个字符串[关闭]
【发布时间】:2013-09-25 11:50:28
【问题描述】:

我必须在一个语句中搜索字符串中的一些单词。谁能帮我在 python 中做到这一点?

例如- 要搜索的词是:abcabdadbmmnn。 要搜索的字符串:

aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd

我想要这样的东西:

search(abc, abd, adb, mm, nn, "aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd")

如果有任何单词匹配,则输出应该为yes,否则为no。

【问题讨论】:

    标签: python regex string parsing


    【解决方案1】:

    这里不需要正则表达式,使用any():

    >>> s = "aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd"
    >>> l = ['abc', 'abd', 'adb', 'mm', 'nn']
    >>> any(i in s for i in l)
    True
    

    仅供参考,正则表达式方法:

    >>> import re
    >>> s = "aaassgshshhshsjskslskhalhslkhslkhsshalkjlkjmmmmabcabd"
    >>> pattern = "abc|abd|adb|mn|nn"
    >>> re.search(pattern, s)
    <_sre.SRE_Match object at 0xb7088138>
    

    【讨论】:

    • 请注意,正则表达式方法只会对字符串进行一次传递,因此可能会更好。
    猜你喜欢
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    相关资源
    最近更新 更多