分享Python切分字符串的一个不错方法

yipeiwu_com7年前Python基础

一同事问:有一字符串“abcdefghijklmn”如何用Python来切分,每四个一段,剩下的算一段。字符段切分,首先会想到split()和 re.split()函数,但仔细想了一下,这两个函数又不合适,因为,字符之间并没有空格,逗号,点号,TAB等分隔符,要切割的话很难实现。 只好退而求其次,使用常规方法:

>>> s = 'abcdefghijklmn'
>>> for i in range(0,len(s),4):
 print s[i:i+4]
 
abcd
efgh
ijkl
mn
>>> 

或者使用列表解析来实现:

>>> [s[i:i+4] for i in range(0,len(s),4)]
['abcd', 'efgh', 'ijkl', 'mn']
>>> 

有一个同事给出了非常巧妙的方法来实现:

>>> import re
>>> s = 'abcdefghijklmn'
>>> re.findall(r'\w{1,4}',s)
['abcd', 'efgh', 'ijkl', 'mn']

借助于re模块的findall函数,借助正则表达式来匹配,4个字符,匹配到了,自动分成一列,可谓非常巧妙!!!

以上这篇分享Python切分字符串的一个不错方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈python中真正关闭socket的方法

close方法可以释放一个连接的资源,但是不是立即释放,如果想立即释放,那么在close之前使用shutdown方法 shut_rd() -------关闭接受消息通道 shut_wr(...

python实现在控制台输入密码不显示的方法

本文实例讲述了python实现在控制台输入密码不显示的方法。分享给大家供大家参考。具体实现方法如下: import console; namespace console{ //控...

python调用webservice接口的实现

python调用webservice接口的实现

使用suds这个第三方模块 from suds.client import Client url = 'http://ip:port/?wsdl' cilent=Client...

Python的Django框架中TEMPLATES项的设置教程

TEMPLATES Django 1.8的新特性 一个列表,包含所有在Django中使用的模板引擎的设置。列表中的每一项都是一个字典,包含某个引擎的选项。 以下是一个简单的设定,告诉Dj...

python控制台实现tab补全和清屏的例子

在shell(bash)下有2个很基本的功能,那就是tab补全,和clear清屏,对于我这种时不时不自觉的就手残要clear清屏一下的人来说,python控制台不能清屏很不爽,经过goo...