明确:对字符串的操作方法都不会改变原来字符串的值
1、去掉空格和特殊符号
name.strip() 去掉空格和换行符
name.strip('xx') 去掉某个字符串
name.lstrip() 去掉左边的空格和换行符
name.rstrip() 去掉右边的空格和换行符
2、字符串的搜索和替换
name.count('x') 查找某个字符在字符串里面出现的次数
name.capitalize() 首字母大写
name.center(n,'-') 把字符串放中间,两边用- 补齐
name.find('x') 找到这个字符返回下标,多个时返回第一个;不存在的字符返回-1
name.index('x') 找到这个字符返回下标,多个时返回第一个;不存在的字符报错
name.replace(oldstr, newstr) 字符串替换
name.format() 字符串格式化
name.format_map(d) 字符串格式化,传进去的是一个字典
Year {} Rs. {:.2f}".format(year, value) 称为字符串格式化,大括号和其中的字符会被替换成传入 str.format() 的参数,也即 year 和 value。其中 {:.2f} 的意思是替换为 2 位精度的浮点数。
{:5d} 的意思是替换为 5 个字符宽度的整数,宽度不足则使用空格填充。
divmod(num1,num2)返回一个元组,这个元组包含两个值,第一个是num1 与 num2 相整除得到的值,第二个是num1 与 num2 求余得到的值
用 * 运算符查封这两个元组,得到这两个值。
等价于
3、字符串的测试和替换函数
S.startswith(prefix[,start[,end]]) #是否以prefix开头
S.endswith(suffix[,start[,end]]) #以suffix结尾
S.isalnum() #是否全是字母和数字,并至少有一个字符
S.isalpha() #是否全是字母,并至少有一个字符
S.isdigit() #是否全是数字,并至少有一个字符
S.isspace() #是否全是空白字符,并至少有一个字符
S.islower() #S中的字母是否全是小写
S.isupper() #S中的字母是否便是大写
S.istitle() #S是否是首字母大写的
4、字符串的分割
name.split() 默认是按照空格分割
name.split(',') 按照逗号分割
5、连接字符串
‘,’.join(slit)
用逗号连接slit 变成一个字符串,slit 可以是字符,列表,字典(可迭代的对象)
int 类型不能被连接
6、截取字符串(切片)
str = '0123456789′
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取
7、string 模块
import string
string.ascii_uppercase 所有大写字母
string.ascii_lowercase 所有小写字母
string.ascii_letters 所有字母
string.digits 所有数字