簡體   English   中英

我們如何將下一個數值提取到 python 中的字符串

[英]How can we extract a next numeric value to a string in python

我需要在字符串中取一個 output,例如字符串是“Initial: [818 v1] any other string or words here”,在這里我想從這個字符串中取 818。 這個 818 可以改變,所以不能硬編碼。


s = "Initial: [818 v1] any other string or words here"

import re
p = re.findall(r'\d+',s)
print(p)

OUTPUT

['818','1']

但是如果你只想要超過 1 個字符的數字那么

s = "Initial: [818 v1] any other string or words here"

import re
p = re.findall(r'\d+',s)
p = list(filter(lambda e:len(e)-1,p))
print(p)

OUTPUT:

['818']

在 OP 想要另一個問題的答案之后。

string = 'Abc 1 String Xyz 3 try new 4'

string_lst = string.split()

def func(lst,e):
    if not lst[e].isdigit():
        try:
            int(lst[e+1])
        except IndexError:
            return lst[e]
        except ValueError:
            return False
        else:
            return lst[e]
    return lst[e]

lst = [func(string_lst,a) for a in range(len(string_lst))]

string_list = list(filter(lambda e:e,lst))

string_dict = {string_list[a]:int(string_list[a+1]) for a in range(0,len(string_list),2)}
print(string_dict)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM