python中, 字符串就是”一串字符”, 是编程语言中表示文本的数据类型
在python中, 可以使用双引号””, 或者单引号”定义一个字符串
虽然可以使用转移字符, 但开发中更多的是使用单, 双引号相互嵌套的方式
可以使用索引, 获取每一个字符串中指定位置的字符, 索引从0开始, 或使用for遍历, 注意: python中的字符也是字符串类型
常用的方法
字符串是常用的数据类型, 它的方法较多, 包含但不限于
ps: 在ipython3中, 对某个变量, 输入 变量. 按下tab就可以查看所有方法
len(字符串) | 统计字符串长度 |
字符串.count(子字符串) | 统计子字符串出现次数 |
字符串.index(子字符串) | 获取子串第一次出现的位置 |
判断类
字符串.isspace() | 判断是否包含空格 |
字符串.isalnum() | 至少包含一个字符并且旁边都是字符或字母 |
字符串.isalpha() | 至少包含一个字符并且旁边都是字母 |
字符串.isdecimal() | 全是数字, 全角数字 |
字符串.isdigit() | 全是数字, 全角数字、\u00b2 |
字符串.isnumerc() | 全是数字, 全角数字、汉字数字 |
字符串.istitle() | 是标题化字符串(每个单词首字母大写) |
字符串.islower() | 至少包含一个大小写的字符, 区分字符均小写 |
字符串.isupper() | 至少包含一个大小写的字符, 区分字符均大写 |
查找和替换
字符串.startwith(str) | 是否以str开头 |
字符串.endwith(str) | 是否以str结尾 |
字符串.find(str,start=0,end=10) | 检测str是否在字符串指定位置 |
字符串.rfind(str,start=0,end=10) | 类似find, 但从右边开始 |
字符串.replace(old_str,new_str,num) | 指定替换n次 old 为 new |
大小写转换
字符串.capitalize() | 第一个字符大写 |
字符串.title() | 所有单词首字母大写 |
字符串.lower() | 全部变小写 |
字符串.upper() | 全部变大写 |
字符串.swapcase() | 大小写反转 |
文本对齐
字符串.ljust(width) | 字符串左对齐, 空格填充width字符长度 |
字符串.rjust(width) | 字符串右对齐, 空格填充width字符长度 |
字符串.center(width) | 字符串中间对齐, 空格填充width字符长度 |
去掉空白字符
字符串.lstrip() | 截掉左边开始的空白字符 |
字符串.rstrip() | 截掉右边开始的空白字符 |
字符串.strip() | 截掉左右两边的空白字符 |
拆分和拼接
字符串.partition(str) | 字符串以str分成3元素的元组 str前, str, str后 |
字符串.rpartion(str) | 类似partion,但从右边开始 |
字符串.split(str=””,num) | 以str分隔符拆分字符串, 如果存在num, 则分成num+1份 字符串默认包含\r,\t,\n |
字符串.splitlines() | 按照行以(\r,\n,\r\n)分隔, 返回一个列表 |
字符串.join(seq) | 字符串作为分隔符, 将列表seg的元素合并为新字符串 |
取子串
python的取子串, 又称为切片, 有多种重载
字符串[起始:末尾:步长]
#取[2,6)子串
字符串[2:6]
#取2开始到末尾的子串
字符串[2:]
#取0开始到6的子串
字符串[:6]
#取全部
字符串[:]
#从0开始每隔一个字符取一个
字符串[::2]
#从1开始每隔一个取一个
字符串[1::2]
#若数字是负数, 表示从右取, 如从1到末尾-1
字符串[1:-1]
#取最后2个字符
字符串[-2:]
#若步长是负数, 表示从右向左取, 例如逆置字符串
字符串[::-1]