如何在Python中捕获单词

时间:2018-11-14 11:32:40

标签: python

当我有多个链接时,我想用Python捕获单词。

但是只能捕获i之后的数字。我该怎么做?

下面我放了两个示例链接:

txt = "https://www.amazn.com.my/products/honor-play-4gb64gb-rom-original-i409297194-s592754043.html?spm=a2o4k."
txt2 = 'https://www.amazn.com.my/products/oneplus-6-a6000-64gb128gb256gb-original-imported-set-global-rom-available-in-all-colour-now-i355104077-s592325529.html?spm=a2o4k.'
x = txt.split("-")
print(x)

我知道有一个.split函数,但是在print(x)时它会像这样返回

['https://www.amazon.com.my/products/honor', 'play', '4gb64gb', 'rom', 'original', 'i409297194', 's592754043.html?spm=a2o4k.']

当print(x)时,我期待的结果应该是这样的:

409297194

3 个答案:

答案 0 :(得分:0)

尝试一下:

[print(item) for item in x if item[0]=='i' and item[1:].isnumeric()]

它检查列表项是否以字母'i'开头,其余是否为数字

答案 1 :(得分:0)

您可以搜索以“ i”开头的字符串并将其替换:

def getIString(text):
    for i in text: 
        if i[0] == "i" and i[1:].isdigit():
            print i.replace("i","")


txt = "https://www.amazn.com.my/products/honor-play-4gb64gb-rom-original-i409297194-s592754043.html?spm=a2o4k."
txt2 = 'https://www.amazn.com.my/products/oneplus-6-a6000-64gb128gb256gb-original-imported-set-global-rom-available-in-all-colour-now-i355104077-s592325529.html?spm=a2o4k.'
x = txt.split("-")
y = txt2.split("-")

getIString(x)
getIString(y)

您必须检查数字是否在“ i”之后,否则也将使用“ imported”

答案 2 :(得分:0)

我在两个示例中都看到,您有startswith个字母s = 0 for x in soft : if x == 0 : s+=1 print(s) >> 17729 的数字。我会利用它来为您带来好处,并编写您自己的函数来查找该数字。

i