[英]How can I split a string in Python based on and or params effeciently?
我有輸入字符串,例如((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]
遍歷“ col_search_list”:
col_search_list = column_search.split('and')
for term in col_search_list:
if 'display_name' in term:
policy_filter = term
elif 'site_name' in term:
site_filter = term
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.