我有一个如下所示的字符串。
{[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]}
现在我想通过删除 (){}'" 特殊字符来制作此元素的列表。
我知道我可以使用一些正则表达式或以下方法删除括号。
s = 'Barack (of Washington)'
bad_chars = '(){}<>'
s.translate(string.maketrans("", "", ), bad_chars)
但是我想删除额外的或多个空格,如果有类似 a;b;c,c 的东西,那么我也将其视为 4 个元素,无论它是 ;或者,
预期输出:
[Utilisa.dudomaine,jira-users,confluence-users,jira-developers,ProductTeamIndia,test-1,ProductGroup,Atlassian-Stash,awspreprod-readonly,awsprod-readonly,awspreprod-rddevops,awsrddev-readonly,awsrddev-rddevops,test.user]
有什么好主意吗?
谢谢!
最佳答案
re.split()
函数解决方案:
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)
输出:
['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']
关于python - 从字符串中删除括号和特殊字符并转换列表(值以逗号分隔),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50443144/