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)