def getPurKeyword(inkey): """ each key is case-insensitve in lower case. A keyword can have a singular or plural form - so the plural-s at the end is optional. A keyword can be assigned as keyword by the beginning digit underscore - so it is optional too. A keyword in a csv-file can be characterized by the keyword delimited with the in-filed-delimiter colon. a sub-keyword can be delimited :param inkey: :return: """ keyPur = inkey.lower() if ":" in keyPur: keyPur = keyPur.split(":").pop() if "-" in keyPur: keyPur = keyPur.split("-").pop() if keyPur[0:1] == "_": keyPur = keyPur[1:] if keyPur[-1:] == "s": keyPur = keyPur[:-1] return keyPur