【发布时间】:2022-01-17 00:49:36
【问题描述】:
我正在尝试使用 python 通过逗号拆分字符串,但允许用户在某些密钥对中包含逗号。以下是我正在使用的两个字符串示例:
title.search:The relation between visualization size, grouping, and user performance,publication_year:2020
author.id:c33432,title.search:The relation between visualization size, grouping, and user performance,publication_year:2020
我想把它变成:
["title.search:The relation between visualization size, grouping, and user performance", "publication_year:2020"]
["author.id:c33432", "title.search:The relation between visualization size, grouping, and user performance", "publication_year:2020"]
对我有帮助的是,冒号之前的部分(键)将始终以三种格式之一编写,例如:
- 类型
- 作者.id
- author.institutions.country_code
所以它可以是一个单词,两个单词之间用句点隔开,或者三个单词用句点隔开。
关于这是否可能的任何想法?
【问题讨论】:
-
您可以在
,(?=\s*\w+(?:\.\w+){0,2}\s*:)上拆分,也可以使用[\w]+(?:\.\w+){0,2}\s*:.*?(?=$|,[\w]+(?:\.\w+){0,2})直接获取匹配项