从数据为 Python 的字符串中查找字符串

Find String out of String with Data in Python

我需要从 JSON 数据的字符串中找出一个字符串。我确实给出了一个数据来搜索正确的字符串。 这是我到目前为止所做的:

description = "Range: 1 = RED_STRAWBERRYS, 2 = WHITE_STRAWBERRYS, 3 = PINK_RASPBERRY, 4 = BLUE_BERRY"
data = "4"
data_plus_one = "5"
msg = (description[description.find(str(data))+len(description[0:4]):description.rfind(", "+data_plus_one +" =")])
print(msg)

确实有效。如果我搜索 RED_STRAWBERRYS 我确实有数据 = 1。然后我把它找回来了。但是如果我寻找最后一个元素。在这种情况下,对于 BLUE_BERRY 然后我得到 "BLUE_BERR" 而没有最后一个字母。现在有人有比这个解决方案更好的方法吗?

生成以数字为键、水果为值的字典的正则表达式方法可能适用于此:

description = "Range: 1 = RED_STRAWBERRYS, 2 = WHITE_STRAWBERRYS, 3 = PINK_RASPBERRY, 4 = BLUE_BERRY"
d = dict(re.findall(r'(\d+) = ([^,]+)', description))
print("one:   " + d["1"])  # one:   RED_STRAWBERRYS
print("three: " + d["3"])  # three: PINK_RASPBERRY