簡體   English   中英

如何有效地基於和參數在Python中拆分字符串?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM