Python:使用关键字短语从字符串中提取文本

2024-09-28 05:19:53 发布

您现在位置:Python中文网/ 问答频道 /正文

努力想办法做到这一点,任何帮助都将是巨大的。你知道吗

我有一个很长的字符串-它是标题字段。这是一些样品。你知道吗

AIR-LAP1142N-A-K
AIR-LP142N-A-K
Used Airo 802.11n Draft 2.0 SingleAccess Point AIR-LP142N-A-9
Airo AIR-AP142N-A-K9 IOS Ver 15.2
MINT Lot of (2) AIR-LA112N-A-K9 - Dual-band-based 802.11a/g/n
Genuine Airo 112N  AP AIR-LP114N-A-K9 PoE
Wireless AP AIR-LP114N-A-9  Airy 50 availiable

我需要从标题中提取零件号,并将其赋给名为“PartNumber”的变量。零件号将始终以字符“AIR-”开头。你知道吗

例如-

Title = ‘AIR-LAP1142N-A-K9 W/POWER CORD’
PartNumber = yourformula(Title)

Print (PartNumber)将输出AIR-LAP1142N-A-K9

我对python还比较陌生,非常感谢您的帮助。我想它只打印零件号,而不是所有其他文本之前或之后。你知道吗


Tags: 字符串标题title样品airusedapdraft
3条回答
def yourFunction(title):
    for word in title.split():
        if word.startswith('AIR-'):
            return word

>>> PartNumber = yourFunction(Title)
>>> print PartNumber

AIR-LAP1142N-A-K9

现在是使用regular expression的明智时机。零件号似乎由大写字母、连字符和数字组成,因此应该可以:

import re
def extract_part_number(title):
    return re.search(r'(AIR-[A-Z0-9\-]+)', title).groups()[0]

如果它获取的字符串不包含看起来像部件号的内容,则会引发错误,因此您可能需要添加一些检查以确保re.search不返回None并且groups不返回空元组。你知道吗

您要寻找的是正则表达式,它在re module中实现。例如,您需要编写如下内容:

>>> import re
>>> def format_title(title):
...     return re.search("(AIR-\S*)", title).group(1)
>>> Title = "Cisco AIR-LAP1142N-A-K9 W/POWER CORD"
>>> PartNumber = format_title(Title)
>>> print(PartNumber)
AIR-LAP1142N-A-K9

\S确保将AIR-到下一个空白字符的所有内容都匹配。你知道吗

相关问题 更多 >

    热门问题