需要我在字串中獲取輸出,例如字串是“Initial: [818 v1] any other string or words here”,在這里我想從這個字串中獲取 818。這個 818 可以更改,因此無法對其進行硬編碼。
uj5u.com熱心網友回復:
s = "Initial: [818 v1] any other string or words here"
import re
p = re.findall(r'\d ',s)
print(p)
輸出
['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)
輸出:
['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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/470735.html
