python文本处理.python版本2.7.3

类型校验

不要使用type进行类型校验

def isAString(st):
    return isinstance(st,basestring)
print isAString(u'速度')

basestring可以校验unicode,type(u'')返回的是unicode类型不是str


文本对齐

print u'中间'.center(20,u'+')
print u'左面'.ljust(20,u'+')
print u'后面'.rjust(20)

结果:

+++++++++中间+++++++++
左面++++++++++++++++++
后面

如无u''参数,直接使用空格作为参数,也可使用’’作为参数,有的编辑器会出现警告


去空格,或前后的字符

x='qwe asd zxc'
print x.strip('qw')  #无参数的时候就是去空格
print x.lstrip('qw')
print x.rstrip('xc')

结果:

e asd zxc
e asd zxc
qwe asd z


字符串拼合

print ''.join('qwe') #使用join可大幅度的提高效率,%s拼合也不错,适合输出,大量连接时,不要使用’+’

字符反转

a='qwe asd zxc'
print a[::-1] #直接反转每个字符
#下面是反转每个单词
b=a.split() #以空格切割,b是个列表
b.reverse() #反转,他是无返回值的,仅仅操作了b
print ' '.join(b)  #使用空格连接b
print ' '.join(a.split()[::-1]) #当然,也可以一行就实现反转
print ' '.join(reversed(a.split())) #使用reversed内建函数代替[::-1]提高可读性

结果:

cxz dsa ewq
zxc asd qwe
zxc asd qwe
zxc asd qwe


校验a中的字符是否在b中出现

def conAny(a,b):
    for c in a:
        if c in b: return True
    return False
a='qwe asd zxc'
b='aa'
print conAny(a,b)
使用了”断定”,只要校验到就直接返回True,停止往下检查

posted on 2012-11-04 14:17  卡罗C  阅读(810)  评论(0编辑  收藏  举报

导航