【问题标题】:Finding string in the format of TEXT-###, e.g SFS-444 inside of another string以 TEXT-### 格式查找字符串,例如 SFS-444 在另一个字符串中
【发布时间】:2016-10-14 04:37:04
【问题描述】:

正如声明所述,我试图弄清楚如何在另一个字符串中找到遵循这种格式 TEXT-### 的文本。但是,可能有很多单词或多个数字,例如,

FRS-44215
SLMP-44
AG-1

例如,我有这个文本。

"Lorem ipsum dolor sit amet, adversarium suscipiantur 
has ea, duo at alia assum, eu ius hinc 
aliquip percipitur SGF-7852 Nec ne 
nisl duis volutpat"

代码会挑选出SGF-7852

【问题讨论】:

    标签: python string subset


    【解决方案1】:

    使用正则表达式定义您要查找的模式,然后在字符串中搜索它。

    >>> s = '''"Lorem ipsum dolor sit amet, adversarium suscipiantur 
    ... has ea, duo at alia assum, eu ius hinc 
    ... aliquip percipitur SGF-7852 Nec ne 
    ... nisl duis volutpat"'''
    >>> e = r'[A-Z]+-\d+'
    >>> import re
    >>> re.findall(e, s)
    ['SGF-7852']
    

    这里的模式是:

    • [A-Z]+(一个或多个大写字母)
    • - 后跟一个破折号
    • \d+ 后跟一个或多个数字

    【讨论】:

    • 哇,太棒了,正是我需要的,谢谢!
    猜你喜欢
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    • 2021-01-22
    • 2014-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    相关资源
    最近更新 更多