У меня есть строка ввода типа ((display_name содержит 'Fw-1111' или display_name содержит 'P1') и site_name содержит 'device').
Ввод может иметь любую комбинацию фильтра в любом порядке.
Я хочу получить каждый фильтр отдельно в зависимости от типа.Например, все фильтры на display_name должны объединяться в единый ввод (например, display_name содержать 'Fw-1111' или display_name содержать 'P1').
Я использовал разделенную строку, чтобы проанализировать ее и получить фильтры отдельно.Хотя я мог сделать, но код неуклюжий.Я думаю, что должен быть лучший способ достичь этого в Python.Пожалуйста, дайте мне знать эффективный способ добиться этого.
Это мой пример неуклюжего кода:
column_search = ((display_name contain 'Fw-1111' or display_name
contain 'P1') and site_name contain 'device')
col_search_list = column_search.split('and')
if 'display_name' in col_search_list[0]:
policy_filter = col_search_list[0]
elif 'site_name' in col_search_list[0]:
site_filter = col_search_list[0]
if len(col_search_list) >1:
if 'display_name' in col_search_list[1]:
policy_filter = col_search_list[1]
elif 'site_name' in col_search_list[1]:
site_filter = col_search_list[1]