所以我有一个名为"correct_body“的字符串,它是:"Large窄体,,got 7,5600,220,10”或"Medium wide body,,got 5,4050,406,14“或"Medium窄体,,got 8,2650,180,8。我有一个名为"max_distance”的列表,其中包含这些数字:'5600','4050','2650‘。我希望能够将列表与字符串进行比较,如果列表中的一个数字在字符串中,我希望打印它。下面是我的代码:
for x in max_distance:
if x in correct_body:
distance = x
print(distance)
因此,如果字符串是"Large narrow body,,be 7,5600,220,10“,则应打印5600。
发布于 2021-01-12 18:54:44
您可以使用匹配£\d+,
的模式从字符串中提取数字,并在捕获组(\d+)
中捕获以下数字。
如果存在匹配项,re.findall将返回捕获组中的值,您可以检查列表中是否包含这些值。
import re
correct_body = re.findall(r"£\d+,(\d+)", "Large narrow body,,£7,5600,220,10")
max_distance = ['5600', '4050', '2650']
for x in max_distance:
if x in correct_body:
distance = x
print(distance)
输出
5600
发布于 2021-01-12 18:58:44
我想这个问题的最佳解决方案是使用Python的String.find()。
给定一个字符串S
和一个目标子字符串s
,S.find(s)
要么在该子字符串不存在的情况下返回-1
,要么返回第一次出现的索引。
for s in strings:
for sub in substring:
if s.find(sub) != sub:
print(sub)
https://stackoverflow.com/questions/65690164
复制相似问题