簡體   English   中英

使用 Python 中的正則表達式從字符串中刪除括號

[英]Remove brackets from strings with regex in Python

目前,我有兩個帶括號的字符串

'NI,DG,BJ (1).jpg' , 'N1,DG,BJ(1).jpg'

對於每個字符串,我想拆分並獲取用逗號拆分的每個字符,除了括號。

這可以通過以下方式實現

import re
s=['NO,AG,GK.jpg','NI,DG,BJ (1).jpg','N1,DG,BJ(1).jpg']

all_v=[]
for d in s:
  k=re.sub("(\s\(\d+\))?(\.jpg)?", "", d).split(',')

  if '(' in k[-1] :
    k[-1]=k[-1].split('(')[0]

  all_v.append(k)

但是,由於括號可以關閉或用空格分隔,我必須添加if語句。

我想知道是否有正則表達式聰明的方法來跳過 if-else 語句

預期 output

['NO', 'AG', 'GK']
 ['NI', 'DG', 'BJ']
 ['N1', 'DG', 'BJ']
import re
s=['NO,AG,GK.jpg','NI,DG,BJ (1).jpg','N1,DG,BJ(1).jpg']

for i in s:
    [re.search('(\w+).*',k).group(1) for k in i.split(',')]

結果

['NO', 'AG', 'GK']
['NI', 'DG', 'BJ']
['N1', 'DG', 'BJ']

暫無
暫無

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

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