语录网随笔 python多个分隔符分割字符串(python 字符串拆分)

python多个分隔符分割字符串(python 字符串拆分)

有网友问python多个分隔符分割字符串,下面小编就以1278字给大家详细介绍python 字符串拆分,预计阅读需要4分钟!

Python学习教程:针对任意多的分隔符拆分字符串

我们需要将字符串拆分成不同的字段,但是分隔符(以及它们之间的空格)在整个字符串中并不一致。

字符串对象的分裂()方法只能处理非常简单的情况,不支持多个分隔符,也不能帮助处理分隔符周围的多个空格情况。当你需要一些更灵活的函数时,应该使用re.split()方法:

导入reline='abc def; ghi, jkl, mno, pkr'#分隔符:分号,逗号,空格,后跟任意数量的额外空格结果=re.split(r'\s*[;,\s]\s*', line)print(结果)

结果:

['abc','def','ghi','jkl','mno','pkr']

re.split()很有用,因为您可以为分隔符指定多种模式。例如,在上述解决方案中,分隔符:分号、逗号和空格后面可以跟随任意数量的额外空格。与str.split()一样,最终结果是字段列表。

使用re.split()时,需要注意正则表达式模式中的捕获组是否包含在括号中。

如果使用捕获组,匹配的文本也将包含在最终结果中。例如,看看下面的案例:

导入reline='abc def; ghi, jkl, mno, pkr'结果=re.split(r'\s*(;|,|\s)\s*', line)print(结果)

结果:

['abc', ' ', 'def', ';', 'ghi', ',', 'jkl', ',', 'mno', ',', 'pkr']

在特定上下文中获取分隔符也可能是有用的。例如,要改进带有分隔符字符的字符串的输出:

导入reline='abc def; ghi, jkl, mno, pkr'结果=re.split(r'\s*(;|,|\s)\s*', line)值=结果[::2]分隔符=结果[1::2 ]+['']print(值)print(分隔符)last=". add(v+d for v, d in zip(值,分隔符)print(last)

结果:

['abc','def','ghi','jkl','mno','pkr'][' ', ';', ',', ',', ',', '']abc def; ghi, jkl, mno, pkr

如果您不想在结果中看到分隔字符,但仍然希望将正则表达式模式与符号分组,请确保您使用了指定为(?:...)的非捕获组。以下是一个示例:

导入reline='abc def; ghi, jkl, mno, pkr'结果=re.split(r'\s*(?:;|,|\s)\s*', line)print(结果)

结果:

['abc','def','ghi','jkl','mno','pkr'

更多的Python学习教程会继续为大家更新!

本文来自网络,不代表语录网立场,转载请注明出处:https://www.chinansn.com/article-1-a220321150518a99a23-0.html