【笔记】Python3的字符串

前言

Python3的字符串学习笔记

拼接

  • 使用加号运算符拼接两个字符串,当加号用作拼接字符串时,两侧的数据类型不能为非字符串类型

<str_1><str_2>:字符串

1
str = <str_1> + <str_2>
  • 当乘号用作拼接字符串时,将乘号左侧的字符串拼接乘号右侧的倍数,得到新的字符串

<str>:字符串
<num>:倍数

1
str = <str> * <num>

索引和切片

获取指定位置的字符

<index>:下标

1
str[<index>]

获取指定范围的子字符串

  • 获取范围为[<num_1>,<num_2>)的子字符串
1
str[<num_1>: <num_2>]
  • 指定步长

<step>:如果是整数,则从左向右迈步;如果是负数,则从右向左迈步

1
str[<num_1>: <num_2>: <step>]
  • 到末尾结束
1
str[<num_1>:]
  • 如果没有步长,或步长为正数,则从0位置开始,到<num>位置结束
  • 如果步长为负数,则从-1位置开始,到<num>位置结束
1
2
str[: <num>]
str[: <num>: <step>]

从友向左

  • 起始位置是-1
1
str[-1:]

查找

  • find函数和index函数都可以查找子字符串
  • find函数和index函数的区别是
    • find函数:如果存在子串,返回下标;如果不存在子串,返回-1
    • index函数:如果存在子串,返回下标;如果不存在子串,则报错
  • find函数和index函数是从左向右查找子串,rfind函数和rindex函数式从右向左查找子串

str:一个字符串变量

从左侧开始

<s>:想要查找的子字符串
<start>:开始位置下标
<stop>:结束位置下标

指定范围的查找

1
2
3
str.find(<s>, <start>, <end>)

str.index(<s>, <start>, <end>)

全部范围的查找

1
2
3
str.find(<s>)

str.index(<s>)

从右侧开始

指定范围的查找

1
2
3
str.rfind(<s>, <start>, <end>)

str.rindex(<s>, <start>, <end>)

全部范围的查找

1
2
3
str.rfind(<s>)

str.rindex(<s>)

统计字符串出现的次数

指定范围的统计

1
str.count(<s>, <start>, <end>)

全部范围的统计

1
str.count(<s>)

修改

替换子串

  • replace函数可以将原子串替换为新子串,但是不会直接在原字符串上做修改,而是返回修改后的新字符串

<s_old>:替换前的子串
<s_new>:替换后的子串
<num>:替换词数

指定次数的替换

1
str.replace(<s_old>, <s_new>, <num>)

全部范围的替换

1
str.replace(<s_old>, <s_new>)

分割

  • split函数可以分割字符串为多个子字符串,分割后丢失分割符,返回分割后的列表

指定次数的分割

1
str.split(<s>, <num>)

全部范围的分割

1
str.split(<s>)

合并

  • join函数可以合并多字符串序列里的所有元素,返回合并后的字符串

指定分隔符合并

<str_delimiter>:字符串,作为分隔符
<list>:多字符串组成的序列

1
<str_delimiter>.join(<list>)

大小写转换

  • 返回转换后的字符串

字符串首字符转换为大写

1
str.capitalize()

每个单词首字母转换为大写

1
str.title()

所有小写字符转换为大写

1
str.upper()

所有大写字符转换为小写

1
str.lower()

删除空白字符

  • strip函数可以删除字符串空白字符,将删除空白字符后的字符串返回

删除两侧空白字符

1
str.strip()

删除左侧空白字符

1
str.lstrip()

删除右侧空白字符

1
str.rstrip()

设置字符串对齐

  • ljust函数可以将原字符串重新设置指定长度的字符串并进行左对齐,返回对齐后的字符串
  • rjust函数可以将原字符串重新设置指定长度的字符串并进行左对齐,返回对齐后的字符串
  • center函数可以将原字符串重新设置指定长度的字符串并进行左对齐,返回对齐后的字符串
    • center函数如果不能绝对居中,右侧填充比左侧填充多1个字符

<len>:填充后的字符串长度
<s>:用于填充的字符串

指定字符填充

1
2
3
4
5
str.ljust(<len>, <s>)

str.rjust(<len>, <s>)

str.center(<len>, <s>)

默认空格填充

1
2
3
4
5
str.ljust(<len>)

str.rjust(<len>)

str.center(<len>)

判断

判断开头和结尾

  • startswith函数可以判断是否以指定子串开头,返回布尔值
  • endswith函数可以判断是否以指定子串结尾,返回布尔值

指定范围进行判断

1
2
3
str.startswith(<s>, <start>, <end>)

str.endswith(<s>, <start>, <end>)

全部范围进行判断

1
2
3
str.startswith(<s>)

str.endswith(<s>)

判断字符串组成

  • 判断字符串的组成形式,如果符合返回True,不符合返回False

是否仅由字母组成

1
str.isalpha()

是否仅由数字组成

1
str.isdigit()

是否为数字字母组合

  • 判断指定字符串是否为仅由数字仅由字母数字字母组合组成
1
str.isalnum()

是否仅由空格组成

1
str.isspace()

完成

参考文献

哔哩哔哩——Python-清风
哔哩哔哩——千锋教育