簡體   English   中英

根據 python 中的正則表達式值拆分字符串

[英]split string based on regular expression value in python

假設我有一個字符串

exp = '"security_datafilter"."PRODUCT_CATEGORIES"."CATEGORY_NAME" IN ("CPU","Storage")' 

我想根據單詞IN拆分字符串,所以我的預期結果是

['"security_datafilter"."PRODUCT_CATEGORIES"."CATEGORY_NAME"','IN','("CPU","Storage")']

但就我而言,它不起作用這是我嘗試過的

import re
exp_split = re.split(r'( in )',exp,re.I) 

重新文檔re.split(pattern, string, maxsplit=0, flags=0)

split() function 期望第三個位置參數是maxsplit參數。 您的代碼將re.I提供給maxsplit並且沒有flags 您應該將flags作為關鍵字參數提供,如下所示:

exp_split = re.split(r'( in )',exp, flags=re.I)

只需將分隔符大寫,如果您不希望結果中的空格將它們保留在捕獲組之外:

exp_split = re.split(r'\s(IN)\s', exp, re.I) 
exp_split

Output

['"security_datafilter"."PRODUCT_CATEGORIES"."CATEGORY_NAME"', 'IN', '("CPU","Storage")']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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