我有一个字符串,比如rdb_master_mongodb
where rdb_
is fixed ,master
它是一个数据库名称,可以是任何东西,可以mongodb
是mysql
、mongodb
、或. 我需要从字典中获取该字符串的值,该值在. 为了得到这个,我需要拆分字符串并获取 and 的值。我不能使用 split 因为有时字符串会变成. 因此,我必须使用来获取确切的密钥。但是,不适用于列表。postgres
mssql
bdb
myDict[master][mongodb]
rdb_master_mongodb
master
mongodb
rdb_master_test_mongodb
endswith
endswith
我必须从元组中获取匹配的元组值。现在我这样做:
import re
name = 'rdb_master_mongodb'
s = re.sub('rdb_', "", name)
VALID_DB = ('mysql', 'postgres', 'mongodb', 'mssql', 'bdb')
(a, b, c, d, e) = VALID_DB
if s.endswith(a):
db = a
if s.endswith(b):
db = b
if s.endswith(c):
db = c
if s.endswith(d):
db = d
if s.endswith(e):
db = e
db_name = re.sub('_'+db, "", s)
print db_name+" is "+db
有一个更好的方法吗?