您的位置:首页 > 编程语言 > Python开发

python中一些常见的针对字符串的操作

2016-03-08 15:55 555 查看

python中一些常见的针对字符串的操作

ascii操作

ord(char ): 参数为一个字符,return该字符对应的ascii码

chr(int ): 参数为一个整数,return该整数在ascii码中对应的字符

索引

字符串分片索引都是左闭右开,即s[i,j]为[i,j)s[i, j]为[i,j),从第i个元素开始(包括第i个元素)到第j个元素结束(不包括第j个元素)

分片格式: [起始位置 : 结束位置 : 步长],其中,步长如果是负数,则说明其实从后往前按步长进行遍历

字符串操作

连接(+): s1 + s2,连接连个字符串对象s1与s2,形成一个新的字符串

重复(*): s * i,将字符串s重复i次并生成一个新的字符串

单字符比较: 比较方式是按照ascii来比较,因此‘a’要大于’A’,这是因为a的ascii码为97,而’A’的ascii码为65

in运算符: 用来测试某字符串是否在另一字符串中

len(s): 返回字符串s的长度

字符串方法: 可以通过help(str)命令来得到常用的字符串方法(如find()方法等)

常用格式描述符码

格式描述码格式名称
%s字符串
%d:十进制整数
%f:浮点小数
%e:浮点指数

note:

在python中,字符串集合是不可改变的,即假设我们拥有字符串s = “hello”,这时候如果我们用下标的方式修改该字符串的某个字符是非法的,即s[0] = “k”是非法的,如果系那个把字符串s变为kello,我们只能通过s = ‘k’ + s[1 : ]来实现

字符串方法:

x.__add__(y) : 等价于x+y,即实现字符串的连接

x.__contains__(y): 等价于y in x,即判断字符串y是否在x中

x.__eq__(y): 等价于x==y,即判断字符串x与y是否相等,该判断确定的是值是否相等而不是物理地址

x.__ge__(y): 等价于x >= y,即判断x是否大于等于y

x.__gt__(y): 等价于x>y,即判断x是否大于y

x.__le__(y): 等价于x <= y, 即判断x是否小于等于y

x.__lt__(y): 等价于x < y,即判断x是否小于y

x.__ne__(y): 等价于x != y,即判断x是否不等于y

x.__getitem__(n): 等价于x
,即获得字符串x中第n个元素

x.__getslice__(i, j):等价于x[i : j],即获得字符串中从i到j的分片

x.__hash__(): 等价于hash(x),即获得字符串x的哈希值

x.__len__(): 等价于len(x),即返回字符串x的长度

x.__mod__(y): 等价于x % y

x.__mul__(y): 等价于x * y

x.__sizeof__(): 获取字符串x在内存中所占的内存大小

x.capitalize(): 返回一个新字符串,该字符串的第一个字母变为大写,其余的与字符串x完全一样

x.center(width[, fillchar]): 返回一个新的字符串,如果参数width大于x的长度,那么该字符串中间位置字符串为x,两边用可选参数fillchar来填充(默认为空格),如果小于x的长度,则返回的即为x本身

x.count(sub[, start[, end]]): 计算字符串sub在字符串x从给start开始到end结束[start, end)的子字符串中出现的次数,其中start与end为可选参数

x.endswith(suffix[, start[, end]]): 判断字符串x从start开始到end结束[start, end)的分片是否已suffix字符串为后缀结束

x.find(sub [, start [, end]]): 在x字符串从start开始到end结束[start, end)的分片中查找字符串sub并返回找到的字符串对应的最小索引,例如x = “abcd”,sub = “bc”,则x.find(sub)返回的值为1,如果没找到则返回-1

x.find(sub [, start [, end]]):从后往查找,返回最大索引

x.index(sub [, start [, end]]): 功能类似find,只不过在找不到的时候,会报错而不是返回-1

x.rindex(sub [, start [, end]]): 从后往前查找,返回最大索引

x.isalpha(): 如果字符串x中所有的元素均为字符,则返回True,否则返回False

x.isdigit():如果字符串x中所有的元素均为数字,则返回True,否则返回False

x.islower():如果字符串x中所有字符均为小写则返回True,否则返回False

isspace(): 如果字符串x中所有字符均为空白字符,则返回True,否则返回False

isupper(): 如果字符串x中所有字符均为大写字符,则返回True,否则返回False

x.join(y): 将字符串y中的每个元素用字符串x隔开,注意使用x隔开y,而不是y隔开x

x.ljust(width [, fillchar]): 返回一个新字符串,该字符串的长度为width,如果width大于x的长度,则新字符串左边由x填充,而右边则用fillchar所指示的字符填充

x.rjust(width [, fillchar]): 返回一个新字符串,该字符串的长度为width,如果width大于x的长度,则新字符串右边由x填充,而左边则用fillchar所指示的字符填充

x.lower(): 返回一个新字符串,该字符串将x中的字符全部转换为小写字母

x.lstrip([chars]):如果最左边的前缀字符串与参数相同,则删除最左边的前缀,否则不变,参数为可选,默认是空格

x.rstrip([chars]):如果最右边的后缀字符串与参数相同,则删除最右边的后缀,否则不变,参数为可选,默认是空格

x.strip([chars]):如果最左边的前缀字符串或者最右边的后缀字符串与参数相同,则删除最左边的前缀和最右边的后缀,否则不变,参数为可选,默认是空格

x.partition(sep):如果在字符串x中找到了字符串sep(从左向右查找,找到第一个作为分割点),则以sep作为分割点,返回一个元组,其中有三部分,分别是(head, sep, tail),sep前面部分为head,后面部分为tail,如果没有找到,则head为x本身,其余两个均为空字符串

x.rpartition(sep):如果在字符串x中找到了字符串sep(从右向左查找,找到第一个分割点),则以sep作为分割点,返回一个元组,其中有三部分,分别是(head, sep, tail),sep前面部分为head,后面部分为tail,如果没有找到,则head为x本身,其余两个均为空字符串

x.replace(old, new [, count]): 用new字符串代替old字符串,如果count给出了,则只代替前count个old字符串

x.split([sep [, maxsplit]]): 用字符串sep将字符串x进行分割,如果有参数maxsplit,则最多利用maxsplit个sep字符串进行分割,后面再遇到的sep字符串的将不再用作分割(从左向右查看)

x.rsplit([sep [, maxsplit]]): 用字符串sep将字符串x进行分割,如果有参数maxsplit,则最多利用maxsplit个sep字符串进行分割,后面再遇到的sep字符串的将不再用作分割(从右向左查看)

x.swapcase(): 将字符串x中的大小写字母翻转,即将所有的小写字母均换为大写,大写字母均变为小写

x.upper():将字符串x中的所有字母均换为大写

x.lower():将字符串x中的所有字母均换为小写

x.zfill(width):如果字符串x的长度小于width,则在左侧均用0来填充
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: