Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从字符串和转换列表中删除括号和特殊字符(值以逗号分隔)_Python_Regex_Algorithm_List_Logic - Fatal编程技术网

Python 从字符串和转换列表中删除括号和特殊字符(值以逗号分隔)

Python 从字符串和转换列表中删除括号和特殊字符(值以逗号分隔),python,regex,algorithm,list,logic,Python,Regex,Algorithm,List,Logic,我有一根像下面这样的线 {[Utissa.du domaine,jira用户,汇流用户,jira开发商, 印度产品团队,“测试-1”和“产品组”,Atlassian仓库, awspreprod readonly、awsprod readonly、awspreprod rddevops、, awsrddev readonly、awsrddev rddevops、test.user]} 现在,我想通过删除(){}'特殊字符来列出这些元素 我知道我可以使用一些正则表达式或下面的方法删除括号 s = '

我有一根像下面这样的线

{[Utissa.du domaine,jira用户,汇流用户,jira开发商, 印度产品团队,“测试-1”和“产品组”,Atlassian仓库, awspreprod readonly、awsprod readonly、awspreprod rddevops、, awsrddev readonly、awsrddev rddevops、test.user]}

现在,我想通过删除(){}'特殊字符来列出这些元素

我知道我可以使用一些正则表达式或下面的方法删除括号

s = 'Barack (of Washington)'
bad_chars = '(){}<>'
s.translate(string.maketrans("", "", ), bad_chars)
s='Barack(华盛顿州)'
坏字符=“(){}”
s、 translate(string.maketrans(“,”,),坏字符)

但我想删除额外的或多个空间,如果有A、B、C、C,那么我也把它看作是4个元素,不管它是A还是,

预期产出:

[Ussisa.dudomaine、jira用户、汇流用户、jira开发人员、ProductTeamIndia、test-1、ProductGroup、Atlassian Stash、awspreprod只读、awspreprod只读、awspreprod rddevops、awsrddev只读、awsrddev rddevops、test.user]

有什么好主意吗

谢谢!

函数解决方案:

import re

s = '''{[Utilisa. du domaine, jira-users, confluence-users, jira-developers, Product Team India, 'test-1', "Product Group", Atlassian-Stash, awspreprod-readonly, awsprod-readonly, awspreprod-rddevops, awsrddev-readonly, awsrddev-rddevops, test.user]'''

result = [i for i in re.split(r'\s*[{}<>\[\],;\'"]\s*', s) if i]
print(result)

公布预期的最终结果result@RomanPerekhrest感谢您的指点。建议的更改已完成:)为什么不将不需要的字符添加到您的
bad\u chars
(例如
bad\u chars=“(){}\\”
)?@RomanPerekhrest他是对的。有什么好的建议吗?@I'L'I应用regex并使用单个语句转换为list是我想要的。请查看下面的答案。
re.split
是否默认添加单报价?转换为字符串时?因为在正则表达式中,您已经删除了
。如果我错了,让我改正!你的解决方案是完美的!谢谢:)@JayeshDhandha,不客气(注意,您的输出应该包含引用字符串作为列表项)此正则表达式正在从所有地方删除括号。如果我只想从开头和结尾删除方括号,我应该修改什么?@JayeshDhandha,你可以自由地创建一个新问题和新要求。谢谢
['Utilisa. du domaine', 'jira-users', 'confluence-users', 'jira-developers', 'Product Team India', 'test-1', 'Product Group', 'Atlassian-Stash', 'awspreprod-readonly', 'awsprod-readonly', 'awspreprod-rddevops', 'awsrddev-readonly', 'awsrddev-rddevops', 'test.user']