python 3.8.2:
我试图从enum
获取一个用join
创建的字符串
import enum
# import aenum
# https://pypi.org/project/aenum/
class ELEMENTS(enum.Enum):
L = ("L", "light", "licht")
P = ("P", "power connectors", "stopcontacten")
vM = ("vM", "ventilation motor", "ventilatie motor")
cvM = ("cvM", "CV motor", "CV motor")
S = ("S", "switch", "schakelaar")
V = ("V", "valve", "klep")
ELEMENTS_list = []
print(len(ELEMENTS))
for s in ELEMENTS:
ELEMENTS_list.append(s.value[0])
regexELEMENTS = "[" + ("|".join(ELEMENTS_list)) + "]"
结果返回:
[L|P|vM|cvM|S|V]
更新“VPfB”的反馈信息-谢谢
regexELEMENTS = "(" + ("|".join(ELEMENTS_list)) + ")"
返回所需的结果:
(L|P|vM|cvM|S|V)
根据我的拙见,如果我能从enum立即执行,那么代码将更合适
print("|".join(ELEMENTS.value[0]))
返回错误:
... in __getattr__
raise AttributeError(name) from None
另一种方法:
print("|".join(ELEMENTS))
返回错误:
TypeError: sequence item 0: expected str instance, ELEMENTS found
在第二步中,我将在正则表达式中使用变量“regexELEMENTS”{regexELEMENTS}'
基于这个问题: How to use a variable inside a regular expression?
我在这里错过了什么。。。还是我错了
希望能理解,我做错了什么
因此,更欢迎对代码进行改进的建议
谢谢
不确定是否要使用与示例中相同的名称或
value[0]
字符串。选择一个:或:
这个答案主要基于enum iteration docs。为了简洁起见,我省略了
[
和]
(顺便说一句,我认为您希望(
和)
构建一个可用的regexp)相关问题 更多 >
编程相关推荐