相关疑难解决方法(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,3等等,我通过整理.这是设置,我有结构良好但可变的数据,需要从从文件读取的字符串拆分为字符串数组.以下展示了我正在处理的数据的一些示例

('Vdfbr76','gsdf','gsfd','',NULL),
('Vkdfb23l','gsfd','gsfg','ggg@df.gf',NULL),
('4asg0124e','Lead Actor/SFX MUA/Prop designer','John Smith','jsmith@email.com',NULL),
('asdguIux','Director, Camera Operator, Editor, VFX','John Smith','',NULL),
...
(492,'E1asegaZ1ox','Nysdag_5YmD','145872325372620',1,'long, string, with, commas'),
Run Code Online (Sandbox Code Playgroud)

我想基于逗号分割这些字符串,但是,字符串中偶尔会包含逗号,这会导致问题.除此之外,re.split(regex, line)在整个读取过程中,每行中的项目数量变化变得困难.

到目前为止我已经尝试过一些解决方案.

def splitLine(text, fields, delimiter):
    return_line = []

    regex_string = "(.*?),"

    for i in range(0,len(fields)-1):

        regex_string+=("(.*)")

        if i < len(fields)-2:
            regex_string+=delimiter

    return_line = re.split(regex_string, text)

    return return_line
Run Code Online (Sandbox Code Playgroud)

这将得到一个结果,我们有以下输出

 regex_string
 return_line
Run Code Online (Sandbox Code Playgroud)

然而,这个问题的主要问题是它偶尔会将两个字段混为一谈.在数组中的第3个值的情况下.

(.*?),(.*),(.*),(.*),(.*),(.*)
['', '\t(222', "'Vy1asdfnuJkA','Ndfbyz3_YMD'", "'14541242640005471'", '2', "'Hello World!')", '', '\n']
Run Code Online (Sandbox Code Playgroud)

理想的结果如下:

['', '\t(222', "'Vy1asdfnuJkA'", "'Ndfbyz3_YMD'", "'14541242640005471'", '2', "'Hello World!')", '', …
Run Code Online (Sandbox Code Playgroud)

python regex string split

4
推荐指数
1
解决办法
648
查看次数

如何在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