写给编程高手的Python教程目录
如何拆分含有多种分隔符的字符串
使用re包里的split方法,该方法传入一个正则表达式和要进行分割的字符串,返回一个字符串数组
from re import split
s = 'ab;cd|edfh,iws,a\twsw,as\twqa'
print(split(r'[,;\t|]+', s))
如何判断一个字符串是否以另一个字符串开头或者结尾
使用字符串的endswith方法,该方法可以接收一个字符串元组,如果该字符串以元组中的任意一个字符串结尾,返回True,否则返回False。
from os import listdir
for dir in listdir('.'):
print(dir, dir.endswith(('.idea', '.py'))) #只能传元组
扩展:stat方法获取到文件的信息,#oct函数转化为八进制的数 print(oct(stat('CH04.py').st_mode))
如何调整字符串中文本的格式
log = '2010-08-01'
from re import sub
print(sub('(\d{4})-(\d{2})-(\d{2})', r'\2/\3/\1', log))
#如何将多个小字符串拼接成一个大的字符串 两个字符串之间的运算
s1 = 'abcdefg'
s2 = '12345'
print(s1 + s2) # 两个字符串的相加操作,实质上是调用了__add__函数
print(s1.__add__(s2))
print(s1 > s2) # 两个字符串的比较操作,实质上是调用了__gt__函数
print(s1.__gt__(s2))
拼接列表中的字符串
print(';'.join(['abc','123','xyz']))
print(''.join([str(x) for x in ['abc',123,'xyz']]))
如何对字符串进行左、中、右对齐
s = 'abc'
print(s.ljust(20, '='))
print(s.rjust(20))
扩展:获取字符串集合中字符串的最大长度
max(map(len, d.keys()))
如何去掉字符串中不需要的字符
s = ' abc 123 '
print(s.strip()) #去掉两边的空格
print(s.lstrip()) #去掉左边的空格
s = '---abc+++'
print(s.strip('-+')) #去掉两边的'-'或'+'
s = 'abc+1-23'
print(s[:3] + s[4:])
print(s.replace('+', ''))
from re import sub
print(sub(r'[+-]', '', s)) #去掉所有的'-'或'+'