当前位置: 首页 > 知识库问答 >
问题:

如果不在方括号或圆括号内,则用逗号分隔字符串

华子昂
2023-03-14

我有一个长字符串,只要逗号不在方括号或圆括号内,我想通过用逗号将其拆分来将其设置为数组。我已经尝试了一些变化,但没有得到我想要的。。。

例1:

Harry Potter, Hermione, (Severus, Snape)
Returns:
Harry Potter
Hermione
Severus, Snape

例2:

Harry Potter, [and, the chamber, of secrets], Hermione, (Olivanders, Wands)
Returns:
Harry Potter
and, the chamber, of secrets
Hermione
Olivanders, Wands

共有1个答案

沃阳曜
2023-03-14

您可以使用下面的正则表达式和全局标志。

,(?![^\(\[]*[\]\)])

这是一个演示。它的灵感来自https://stackoverflow.com/a/9030062/1630604.

 类似资料:
  • 问题内容: 我有一个像 我想把它分成那些字符串 如果我简单地打电话给我,那么在修剪之后我会得到不同的结果,因为在某些字符串中,例如,仍然有一个逗号。但我不想放在方括号中。有解决这个问题的优雅方法吗? 问题答案: 假设和没有嵌套和未转义。您可以使用以下方式进行拆分: 正则演示 如果逗号后面没有非圆括号和,则将匹配逗号,从而忽略和中的逗号。

  • 我有一个字符串,我想用逗号爆炸,但前提是逗号没有嵌套在一些括号内。这是一个相当常见的用例,我一直在阅读这个论坛上的回复帖子,但没有真正找到我要找的东西。 所以,具体来说:重点是,我有一个字符串(=SQL SELECT…FROM语句),我想从列表中提取元素,用逗号分隔,用这个字符串编码(=要从中选择的列的名称)。但是,这些元素可以包含方括号,实际上是函数调用。例如,在SQL中,可以这样做 显然,我想

  • 问题内容: 我想以逗号分隔Python多行字符串,除非逗号在方括号内。例如,字符串 应该分成 这涉及到括号匹配,因此正则表达式可能在这里没有帮助。PyParsing有这 几乎 做什么我需要的,只是 引用 ()环境得到保护,而不是-delimited的。 有什么提示吗? 问题答案: 编写自己的自定义拆分功能:

  • 问题内容: 我有一个像这样的字符串: 上面的字符串应分为: 问题答案: 我认为最简单的解决方案是处理输入字符串char-by-char: 例: 作为免费赠品,此解决方案还根据需要计算嵌套括号: 它还检查括号是否平衡(每个开放的括号都有相应的结束符)。

  • 问题内容: 我得到了这样的格式的字符串: 因此从根本上讲,它是演员姓名的列表(可选地,后面是他们在括号中的角色)。角色本身可以包含逗号(演员的名字不能,我强烈希望如此)。 我的目标是将此字符串分成成对的列表- 。 一个明显的解决方案是遍历每个字符,检查是否出现,并在出现逗号时将其拆分。但这似乎有点沉重… 我正在考虑使用正则表达式拆分它:首先用括号将字符串拆分: 这里的奇数元素是演员名称,甚至是角色

  • 我有一个值,如下所示 如何编写一个正则表达式来捕获由逗号分隔的元素,而逗号不在双引号、方括号或花括号内?我想通过做下面的事情来匹配和获取元素;使用模式匹配。 元素应该是, 如果字符串如下所示 那么元素应该是