'你好,SO社区。避免复制粘贴和硬编码的最佳方法
问题:我有很多正则表达式模式,如
r'to.*school', r'built.*in'
等。在任何情况下,我应该执行的代码,从形势变化到的情况。
例子:如果模式是“为*上学。”,我想找到之前“到”动词,这就是为什么我写的是这样的:。
for num, part in enumerate(sentence):
if part == 'to':
result = sentence[num-1]
如果模式的内置*在,我想找到的时候,这就是为什么我写的东西,如:
for num, part in enumerate(sentence):
if part == 'in':
result = sentence[num+1]
所以有这个问题 - 如何避免复制粘贴代码,如果有超过500种模式和每个模式都有它自己的方式获得结果?
我的想法:我知道它应该是某种数据库,它存储模式和解决方案,但是如果它是字符串,我该如何执行解决方案?我完全迷失了。
你能举一个'sentence'和你想要的输出的例子吗? –
我会介绍一个表,其中包含在第一列中的模式,并在第二个表中引用一个适当的方法。 – Humbalan
@Chris_Rands当然。 'origSentence ='我去上学';模式= r'to。* school'; partSentence = ['I','go','to','school'];结果='去';' –