Как разобрать и уменьшить несколько, если условие до одной строки в текстовом файле? - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь проанализировать старые исходные файлы PL / 1 после нормализации его с помощью Python, чтобы сделать его более эффективным.Слишком много условий, но я не могу найти способ эффективно их уменьшить.как это:

if cond == 'A' 
 | cond == 'B'
 | cond == 'C'
 | cond_ex == 'A_EX'
 | cond == 'D'
 | cond_ex == 'B_EX'
 then;

Я хочу изменить и уменьшить код следующим образом:

if cond in ('A','B','C','D') | cond_ex in ('A_EX','B_EX') then;

Можете ли вы сказать мне решение для анализа этого кода с помощью регулярных выражений Python или замены текста?

1 Ответ

0 голосов
/ 28 мая 2018

Вы можете проанализировать данные следующим образом и сделать оператор if в соответствии с вашими потребностями.

>>> a = """if cond == 'A' 
...  | cond == 'B'
...  | cond == 'C'
...  | cond_ex == 'A_EX'
...  | cond == 'D'
...  | cond_ex == 'B_EX'
...  then;"""
>>> b = a.replace("if", "").replace("then","").replace(";","").replace("|","").replace(" ","")
>>> c = b.split()
>>> print c
["cond=='A'", "cond=='B'", "cond=='C'", "cond_ex=='A_EX'", "cond=='D'", "cond_ex=='B_EX'"]
...