Python字符串方法详解

字符串:由0个或多个字符组成的有序字符序列。

一、字符串的表示

  1. 由一对单引号或一对双引号表示
  2. 由一对三单引号或三双引号表示,可表示多行字符。

二、字符编码

  1. ASCII 码
    ASCII码值的大小:空格<数字<大写字母<小写字母
  2. Unicode编码
    –统一字符编码,即覆盖几乎所有字符的偏码方式
    –从0到1114111(0x10FFFF)空间,每个 编码对应一个字符。
    –Python字符串中每个字符都是Unicode编码字符
函数及使用 描述
chr(x) x为Unicode编码,返回其对应的字符
ord(x) x为字符,返回其对应的Unicode编码

三、字符串操作符

操作符及使用 描述
x + y 连接两个字符串x和y
n * x或x * n 复制n次字符串x
x in s 如果x是s的自串,返回True,否则返回Fasle

四、字符串的格式化

1.format()函数
——基本使用格式:<模板字符串>.format(<逗号分隔的参数>)
—— <模板字符串>由一系列的槽组成,用来控制修改字符串中嵌入值出现的位置,其基本思想是将format()方法的<逗 号分隔的参数>中的参数按照序号关系替换到<模板字符串>的槽中。槽用大话号{}表示,如果大括号中没有序号,则按照出现顺序替换
——format()方法中<模板字符串>的槽除了包括参数序号,还可以包括格式控制信息。此时,槽的内部样式如下:{<参数序号>: <格式控制标记>}
其中,<格式控制标记>用来控制参数显示时的格式,格式内容如下:

: <填充> <对齐> <宽度> , < .精度> <类型>
引导符号 用于填充的单个字符 左对齐:< 、右对齐 :>、居中对齐:^ 槽的设定输出宽度 数字的千位分隔符适用于整数和浮点数 浮点数小数部分的精度或字符串的最大输出长度 整数类型:b,c,d,o,x,X 、浮点数类型:e,E,f, %
  1. 转义符
    ——转义符表达特定字符的本意:
    “这里有个双引号(”)" 结果为 这里有个双引号(")
    ——转义符形成一些组合,表达一些不可打印的含义:
    “\b"回退”\n" 换行(光标移动到下行首) “\r” 回车(光标移动到本行首)

五、字符串常见函数

  1. lower() 返回字符串的小写格式
  2. upper() 返回字符串的大写格式
  3. title() 返回字符串中所有单词首字母大写且其他字母小写的格式
  4. capitalize() 返回首字母大写、其他字母全部小写的新字符串
  5. swapcase()对所有字符串做大小写转换(大写–>小写,小写–>大写)
    Python字符串方法详解
  6. isalpha() 测试字符串是否是字母
  7. isdecimal() 测试字符串是否只包含十进制字符。这种方法只存在于unicode对象
  8. isdigit()测试字符串是否是数字
  9. isnumeric()测试字符串是否是数字。和第8个函数等价
  10. isalnum()测试字符串是否是字母或数字
  11. islower()判断字符串是否小写
  12. isupper()判断字符串是否大写
  13. istitle()判断字符串是否首字母大写
  14. isspace()判断字符串是否是空白(空格、制表符、换行符等)字符
  15. isprintable()判断是否是可打印字符(例如制表符、换行符就不是可打印字符,但空格是)
  16. isidentifier()判断是否满足标识符定义规则。(标识符定义规则为:只能是字母或下划线开头、不能包含除数字、字母和下划线以外的任意字符。)

Python字符串方法详解
注意:1、 要求字符串中至少要包含一个字符串字符,否则直接返回False。例如不能是纯数字。
2、istitle()判断时会对每个单词的首字母边界判断。例如,word1 Word2、word1_Word2、word1()Word2中都包含两个单词,它们的首字母都是"w"和"W"。因此,如果用istitle()去判断它们,将返回False,因为w是小写。
3、isspace()判断是否为空白。没有任何字符是不算是空白。

  1. center(width[, fillchar]) 将字符串居中,左右两边使用fillchar进行填充,使得整个字符串的长度为width。fillchar默认为空格。如果width小于字符串的长度,则无法填充直接返回字符串本身(不会创建新字符串对象)。

  2. ljust(width[, fillchar]) ljust()使用fillchar填充在字符串的右边,使得整体长度为width。

  3. rjust(width[, fillchar])rjust()则是填充在左边。如果不指定fillchar,则默认使用空格填充。

  4. zfill(width)用0填充在字符串的左边使其长度为width。如果字符串前右正负号+/-,则0填充在这两个符号的后面,且符号也算入长度。如果width小于或等于字符串的长度,则无法填充,直接返回字符串本身(不会创建新字符串对象)。
    Python字符串方法详解

  5. count(sub[, start[, end]])返回字符串中子串sub出现的次数,可以指定从哪里开始计算(start)以及计算到哪里结束(end),索引从0开始计算,不包括end边界。

  6. endswith(suffix[, start[, end]])endswith()检查字符串S是否已suffix结尾,返回布尔值的True和False。suffix可以是一个元组(tuple)。可以指定起始start和结尾end的搜索边界

  7. startswith(prefix[, start[, end]])同理startswith()用来判断字符串S是否是以prefix开头
    Python字符串方法详解

  8. find(sub[, start[, end]])搜索字符串S中是否包含子串sub,如果包含,则返回sub的索引位置,否则返回"-1"。可以指定起始start和结束end的搜索位置。

  9. rfind(sub[, start[, end]])返回搜索到的最右边子串的位置,如果只搜索到一个或没有搜索到子串,则和find()是等价的。

  10. index(sub[, start[, end]])和find()一样,唯一不同点在于当找不到子串时,抛出ValueError错误。

  11. rindex(sub[, start[, end]])和rfind 同理

  12. replace(old, new[, count])将字符串中的子串old替换为new字符串,如果给定count,则表示只替换前count个old子串。如果S中搜索不到子串old,则无法替换,直接返回字符串(不创建新字符串对象)。

Python字符串方法详解
29. expandtabs(N)将字符串中的\t替换为一定数量的空格。默认N=8。
注意:expandtabs(8)不是将\t直接替换为8个空格。但它不会替换换行符(\n或\r)时。
Python字符串方法详解

  1. partition(sep)和rpartition(sep)
    搜索字符串中的子串sep,并从sep处对字符串进行分割,最后返回一个包含3元素的元组:sep左边的部分是元组的第一个元素,sep自身是元组的二个元素,sep右边是元组的第三个元素。
    partition(sep)从左边第一个sep进行分割,rpartition(sep)从右边第一个sep进行分割。
    如果搜索不到sep,则返回的3元素元组中,有两个元素为空。partition()是后两个元素为空,rpartition()是前两个元素为空。
    Python字符串方法详解

  2. split(sep=None, maxsplit=-1)和rsplit(sep=None, maxsplit=-1)和splitlines([keepends=True])
    都是用来分割字符串,并生成一个列表。
    split()根据sep对字符串进行分割,maxsplit用于指定分割次数,如果不指定maxsplit或者给定值为"-1",则会从做向右搜索并且每遇到sep一次就分割直到搜索完字符串。如果不指定sep或者指定为None,则改变分割算法:以空格为分隔符,且将连续的空白压缩为一个空格。
    rsplit()和split()是一样的,只不过是从右边向左边搜索。
    splitlines()用来专门用来分割换行符。
    Python字符串方法详解

  3. join(iterable)
    将可迭代对象(iterable)中的字符串使用S连接起来。注意,iterable中必须全部是字符串类型,否则报错。

Python字符串方法详解
33. strip([chars])是移除左右两边的字符char
34. .lstrip([chars])是移除左边的字符char
35. rstrip([chars])是移除右边的字符char
Python字符串方法详解
注意:1、如果不指定chars或者指定为None,则默认移除空白(空格、制表符、换行符)。
2、chars可以是多个字符序列。在移除时,只要是这个序列中的字符,都会被移除。

参考:https://www.jb51.net/article/141376.htm