我有一个列表,其中包含单引号和双引号中的单词集,现在我想只用单引号grep所有数据。
Input_
sentence = ['(telco_name_list.event_date','reference.date)',"'testwebsite.com'",'data_flow.code',"'/long/page/data.jsp'"]
输出:
telco_name_list.event_date,reference.date,data_flow.code
我想用双引号排除括号和字符串。
答案 0 :(得分:0)
由于您将帖子标记为python-3.x
,我假设您要编写python代码。根据您的示例,这将起作用:
#!/usr/bin/env python3
Input_sentence = ['(telco_name_list.event_date','reference.date)',"'testwebsite.com'",'data_flow.code',"'/long/page/data.jsp'"]
comma = False
result = []
for i in range(len(Input_sentence)):
e = Input_sentence[i]
if e.startswith("'"): continue
e = e.replace('(', '').replace(')', '')
if comma:
print(",", end="")
comma = True
print(e, end="")
print()
此代码遍历列表,忽略以单引号开头的元素,并在将元素打印到stdout之前从元素中过滤掉括号。这段代码适用于给定的例子,但可能是也可能不是你需要的东西,因为你想要的确切语义有些含糊不清(也就是过滤掉所有括号或只是你的开头和结尾的那些括号)元素?)。