从数据为 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
我需要从 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