相关疑难解决方法(0)

在Python中拆分带有多个分隔符的字符串

我在网上找到了一些答案,但我没有使用正则表达式的经验,我认为这是我需要的.

我有一个字符串,需要用';'分割 或','也就是说,它必须是分号或逗号后跟空格.不带尾随空格的单个逗号应保持不变

示例字符串:

"b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3], mesitylene [000108-67-8]; polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]"
Run Code Online (Sandbox Code Playgroud)

应该拆分成包含以下内容的列表:

('b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3]' , 'mesitylene [000108-67-8]', 'polymerized 1,2-dihydro-2,2,4- trimethyl quinoline [026780-96-1]') 
Run Code Online (Sandbox Code Playgroud)

python string split delimiter

435
推荐指数
5
解决办法
63万
查看次数

在python中拆分逗号分隔的字符串

这个问题之前已被多次提出并回答过.一些例子:[1],[2].但似乎没有更普遍的东西.我正在寻找的是一种用逗号分隔字符串的方法,这些逗号不在引号或分隔符对中.例如:

s1 = 'obj<1, 2, 3>, x(4, 5), "msg, with comma"'
Run Code Online (Sandbox Code Playgroud)

应该分成三个元素的列表

['obj<1, 2, 3>', 'x(4, 5)', '"msg, with comma"']
Run Code Online (Sandbox Code Playgroud)

现在的问题是,这可能会变得更复杂,因为我们可以看到成对<>().

s2 = 'obj<1, sub<6, 7>, 3>, x(4, y(8, 9), 5), "msg, with comma"'
Run Code Online (Sandbox Code Playgroud)

应分为:

['obj<1, sub<6, 7>, 3>', 'x(4, y(8, 9), 5)', '"msg, with comma"']
Run Code Online (Sandbox Code Playgroud)

不使用正则表达式的天真解决方案是通过查找字符来解析字符串,<(.如果找到<或者(找到了,那么我们就开始计算奇偶校验.如果奇偶校验为零,我们只能以逗号分割.举例说,我们要分开s2,我们可以开始parity = 0,当我们到达s2[3]我们遇到<这将增加平价1.当遇到奇偶只会减少>或者)当它遇到它会增加<(.虽然奇偶校验不是0,但我们可以简单地忽略逗号而不进行任何拆分.

这里的问题是,有没有办法快速使用正则表达式?我真的在研究这个 …

python regex string split

9
推荐指数
2
解决办法
1218
查看次数

如何在Python中拆分逗号分隔的字符串,除了引号内的逗号

我试图在python中拆分逗号分隔的字符串.对我来说,棘手的部分是数据中的一些字段本身有一个逗号,它们用引号("')括起来.生成的拆分字符串也应该删除字段周围的引号.此外,某些字段可能为空.

例:

hey,hello,,"hello,world",'hey,world'
Run Code Online (Sandbox Code Playgroud)

需要分成5个部分,如下所示

['hey', 'hello', '', 'hello,world', 'hey,world']
Run Code Online (Sandbox Code Playgroud)

任何有关如何在Python中解决上述问题的想法/想法/建议/帮助将非常感激.

谢谢,Vish

python regex csv

1
推荐指数
2
解决办法
4555
查看次数

标签 统计

python ×3

regex ×2

split ×2

string ×2

csv ×1

delimiter ×1