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

标签 python regex algorithm list logic

我有一个如下所示的字符串。

{[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/

相关文章:

r - 如何在 r 中使用正则表达式删除单词前的所有措辞?

python - Robotframework "Choose file"导致 AttributeError : module 'base64' has no attribute 'encodestring' in docker

php - 从数据库服务器端创建绘图并在客户端可视化

将 OpenCV 从 3.0.0 降级到 2.4.11 时出现 Python cv2 链接问题

Java:如何用相同的算法洗牌 2 ArrayList?

java - 算法:爆炸列表(子集)

algorithm - 计算数组中索引对的总数,使得 arr[i] < arr[j] 和 i < j

python - 如何获取python-elasticsearch中所有索引的列表

asp.net - 谁能告诉我 ASP.NET 中排除数字和特殊字符的正则表达式?

javascript - PHP正则表达式从JS函数中提取经纬度