当我有多个链接时,我想用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
答案 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