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