- 下标:通过下标可以查找对应的字符
- 切片:截取字符串部分内容,创建新字符串
- 遍历:取出字符串中的每一个字符进行操作
- 查找
- find()方法检测字符串中是否包含子字符串 sub
- rfind()方法同find()
- index()方法检测字符串中是否包含子字符串 sub,如果不在会报异常
- rindex()方法同index()
- count()方法用于统计字符串里某个字符出现的次数
- 替换
- replace()方法把字符串中的 old(旧字符串) 替换成 new(新字符串)
- 切割
- split()方法通过指定分隔符对字符串进行切片
- 拼接
- join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串
- 大小写转换
- capitalize() 方法将字符串的第一个字母变成大写,其他字母变小写
- title()方法将所有单词都是以大写开始,其余字母均为小写
- lower()方法转换字符串中所有大写字符为小写
- upper()方法将字符串中的小写字母转为大写字母
- 删除空白字符
- strip()方法用于移除字符串头尾指定的字符
- lstrip()方法用于截掉字符串左边的空格或指定字符
- rstrip()方法删除 string 字符串末尾的指定字符
- 字符串对齐
- center()方法使原字符串居中对齐
- ljust()方法使原字符串左对齐
- rjust()方法使原字符串右对齐
- 判断
- startswith()方法用于检查字符串是否是以指定子字符串开头
- endswith()方法用于判断字符串是否以指定后缀结尾
- isalpha()方法检测字符串是否只由字母组成
- isdigit()方法检测字符串是否只由数字组成
- isalnum()方法检测字符串是否由字母和数字组成
- isspace()方法检测字符串是否只由空格组成
下标
简介
下标又称"索引",是字符在字符串中的编号,通过下标可以找到对应的字符
- 下标从
0
开始 - 最后一个元素的正数下标
len()-1
- 下标支持负数,
-1
是最后一个元素的下标
示例
“abcdef” | a | b | c | d | e | f |
正数下标 | 0 | 1 | 2 | 3 | 4 | 5 |
负数下标 | -6 | -5 | -4 | -3 | -2 | -1 |
my_str = "abcdef"
print(f"我要获取my_str完整的字符串:{my_str}")
print(f"我要通过正数下标获取my_str的c字符:{my_str[2]}")
print(f"我要通过负数下标获取my_str的b字符:{my_str[-5]}")
print(f"我要通过len()函数获取my_str完整的字符串长度:{len(my_str)}")
print(f"我要通过len()函数获取my_str最后的一个字符:{my_str[len(my_str)-1]}")
输出
如果访问不存在的下标,程序会报错
切片
简介
从字符串中截取一部分的内容,不会改变原来的字符串,会创建一个
新的字符串
语法
str[start:end:step]
参数
- start:开始位置下标,默认为
0
- end:结束位置下标(不包含结束位置),默认为
len()
- step:步长(下标之间的间隔),默认为
1
示例
“abcdef” | a | b | c | d | e | f |
正数下标 | 0 | 1 | 2 | 3 | 4 | 5 |
负数下标 | -6 | -5 | -4 | -3 | -2 | -1 |
my_str = "abcdef"
print("我要获取bcd:")
my_str1 = my_str[1:4:1]
print(my_str1)
my_str2 = my_str[1:4] # 步长如果为1,可以不写
print(my_str2)
print("=" * 10)
print("我要获取abcd:")
my_str3 = my_str[:4] # 步长为正数,开始位置可以不写,默认是0,但是冒号不能省
print(my_str3)
print("=" * 10)
print("我要获取abcdef:")
my_str4 = my_str[:] # 步长为正数,结束位置不写,相当于长度len()
print(my_str4)
print("=" * 10)
print("我要获取ace:")
my_str5 = my_str[::2] # 修改步长为2
print(my_str5)
print("=" * 10)
print("该种情况无法获取数据:")
my_str6 = my_str[4:1] # 步长是正数,代表从左向右(开始位置要在结束位置的左边),无法获取数据
print("my_str6:", my_str6)
print("=" * 10)
print("我要获取edc:")
my_str7 = my_str[4:1:-1] # 步长可以是负数,代表从右向左(开始位置要在结束位置的右边)
print(my_str7)
print("=" * 10)
print("我要获取fedcba(字符串逆置):")
my_str8 = my_str[::-1]
print(my_str8)
输出
遍历
简介
取出字符串中的每一个字符进行操作
示例
my_str = "python"
print("我是通过for循环遍历字符串:")
for i in my_str: # i是字符串中的每一个字符
print(i)
print("我是通过while循环遍历字符串:")
j = 0 # j当作下标使用
while j < len(my_str):
print(my_str[j])
j += 1
输出
查找
find()
简介
find() 方法检测字符串中是否包含子字符串 sub ,如果指定 start(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回
-1
。
语法
str.find(sub, start=0, end=len(string))
参数
- sub – 指定检索的子字符串
- start – 开始索引,默认为
0
- end – 结束索引,默认为
len(string)
返回值
如果包含子字符串返回开始的索引(下标)值,否则返回
-1
示例
my_str = "Life is short,you need Python"
num = my_str.find("s")
print(f"查找s所在位置的下标为:{num}")
num1 = my_str.find("s", 7)
print(f"从下标为7的位置开始查找s所在位置的下标为:{num1}")
num2 = my_str.find("needs", 10, len(my_str)) # 返回值为-1,代表查找的字符串不存在
print(f"查找needs所在位置的下标为:{num2}")
输出
补充
开始和结束位置的下标可以省略,表示在整个字符串序列中查找
rfind()
从
右边
开始查找,同find(),找到之后返回值
依然是正数下标
index()
简介
index() 方法检测字符串中是否包含子字符串 sub ,如果指定 start(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个
异常
语法
str.index(sub, start=0, end=len(string))
参数
- sub – 指定检索的子字符串
- start – 开始索引,默认为
0
- end – 结束索引,默认为
len(string)
返回值
如果包含子字符串返回开始的索引值,否则抛出
异常
示例
my_str = "Life is short,you need Python"
num = my_str.index("s")
print(f"查找s所在位置的下标为:{num}")
num1 = my_str.index("s", 7)
print(f"从下标为7的位置开始查找s所在位置的下标为:{num1}")
# 如果查找的字符串不存在则系统会报错
num2 = my_str.index("needs", 10, len(my_str))
print(f"查找needs所在位置的下标为:{num2}")
输出
补充
开始和结束位置的下标可以省略,表示在整个字符串序列中查找
rindex()
从
右边
开始查找,同index(),找到之后返回值
依然是正数下标
count()
简介
count() 方法用于统计字符串里
某个字符
出现的次数
语法
str.index(sub, start=0, end=len(string))
参数
- sub – 指定检索的子字符串
- start – 开始索引,默认为
0
- end – 结束索引,默认为
len(string)
返回值
该方法返回
子字符串
在字符串中出现的次数
示例
my_str = "hello Python。Life is short,you need Python。"
num1 = my_str.count("Python")
print(f"查找Python出现的次数:{num1}")
num2 = my_str.count("Python", 15)
print(f"查找Python在下标为15开始之后出现的次数:{num2}")
num3 = my_str.count("Python", 40)
print(f"查找Python在下标为40开始之后出现的次数:{num3}")
输出
补充
开始和结束位置的下标可以省略,表示在整个字符串序列中查找
替换
replace()
简介
replace() 方法把字符串中的
old(旧字符串)
替换成new(新字符串)
,如果指定第三个参数max,则替换不超过max次
语法
str.replace(old, new[, max])
参数
- old – 将被替换的子字符串
- new – 新字符串,用于替换old子字符串
- max – 可选字符串, 替换不超过 max 次
返回值
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的
新字符串
,如果指定第三个参数max,则替换不超过 max 次
示例
my_str = "hello Python。Life is short,you need Python。"
my_str1 = my_str.replace("Python", "python")
my_str2 = my_str.replace("Python", "python", 1)
print(f"我是原字符串:{my_str}")
print(f"我是替换后的my_str1字符串:{my_str1}")
print(f"我是替换后的my_str2字符串:{my_str2}")
输出
切割
split()
简介
split() 通过
指定分隔符
对字符串进行切片
,如果参数 num 有指定值,则分隔 num+1 个子字符串
语法
str.split(str="", num=string.count(str))
参数
- str – 分隔符,默认为所有的
空字符
,包括空格、换行(\n)、制表符(\t)等 - num – 分割次数。默认为
-1
, 即分割所有
返回值
返回分割后的字符串
列表
示例
my_str = "hello Python。Life is short,you need Python。"
print(f"默认字符串为:{my_str}")
my_str1 = my_str.split(" ")
print(f"默认切割my_str之后获得:{my_str1}")
my_str2 = my_str.split("Python", 1)
print(f"以Python进行切割my_str一次之后获得:{my_str2}")
输出
补充
如果
分割字符
是原有字符串
中的子字符串
,分割后则丢失
该子字符串
拼接
join()
简介
join() 方法用于将序列中的元素以
指定的字符
连接生成一个新的字符串
语法
str.join(sequence)
参数
- sequence – 要连接的元素序列
返回值
返回通过
指定字符
连接序列中元素后生成的新字符串
示例
my_str = "-".join("abc")
print(f"使用-拼接字符串abc之后获得:{my_str}")
my_str1 = ".".join("abc")
print(f"使用.拼接字符串abc之后获得:{my_str1}")
my_list = ["Life", "is", "short", ",", "you", "need", "Python"]
my_list1 = " ".join(my_list)
print(f"通过空格拼接列表my_list之后获得:{my_list1}")
输出
大小写转换
capitalize()
简介
capitalize() 将
字符串
的第一个字母
变成大写
,其他字母变小写
语法
str.capitalize()
返回值
返回一个首字母大写的
字符串
示例
str1 = "i love three things in the world, the sun, the moon and you."
print(str1.capitalize())
输出
title()
简介
title() 方法返回"标题化"的字符串,就是说
所有单词第一个字母
都是以大写
开始,其余字母均为小写
语法
str.title()
返回值
返回"标题化"的
字符串
,就是说所有单词第一个字母
都是以大写开始
示例
str1 = "i love three things in the world, the sun, the moon and you."
print(str1.title())
输出
lower()
简介
lower() 方法转换字符串中所有
大写
字符为小写
语法
str.lower()
返回值
返回将字符串中所有大写字符转换为小写后生成的
字符串
示例
str1 = "I Love Three Things In The World, The Sun, The Moon And You."
print(str1.lower())
输出
upper()
简介
upper() 方法将字符串中的
小写字母
转为大写字母
语法
str.upper()
返回值
返回小写字母转为大写字母的
字符串
示例
str1 = "i love three things in the world, the sun, the moon and you."
print(str1.upper())
输出
删除空白字符
strip()
简介
strip() 方法用于移除
字符串头尾指定的字符(默认为空格或换行符)
或字符序列
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符
语法
str.strip([chars])
参数
- chars – 移除
字符串头尾
指定的字符序列
返回值
返回移除字符串头尾指定的字符生成的
新字符串
示例
str1 = " i love three things in the world, the sun, the moon and you. "
print(str1.strip())
输出
lstrip()
简介
lstrip() 方法用于截掉
字符串左边
的空格
或指定字符
语法
str.lstrip([chars])
参数
- chars --指定截取的字符
返回值
返回截掉字符串左边的空格或指定字符后生成的
新字符串
示例
str1 = " i love three things in the world, the sun, the moon and you. "
print(str1.lstrip())
输出
rstrip()
简介
rstrip() 删除
字符串末尾
的指定字符(默认为空格)
语法
str.rstrip([chars])
参数
- chars – 指定删除的字符(默认为空格)
返回值
返回删除
字符串末尾
的指定字符
后生成的新字符串
示例
str1 = " i love three things in the world, the sun, the moon and you. "
print(str1.rstrip())
输出
字符串对齐
center()
简介
center() 方法返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格
语法
str.center(width[, fillchar])
参数
- width – 字符串的总宽度
- fillchar – 填充字符
返回值
返回一个指定的宽度 width 居中的
字符串
,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充
示例
str1 = "hello"
print(str1)
print(str1.center(10))
输出
ljust()
简介
ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串
语法
str.ljust(width[, fillchar])
参数
- width – 指定字符串长度
- fillchar – 填充字符,默认为空格
返回值
返回一个原字符串左对齐,并使用空格填充至指定长度的
新字符串
。如果指定的长度小于原字符串的长度则返回原字符串
示例
str1 = "hello"
print(str1)
print(str1.ljust(10, '.'))
输出
rjust()
简介
rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串
语法
str.rjust(width[, fillchar])
参数
- width – 指定填充指定字符后中字符串的总长度
- fillchar – 填充的字符,默认为空格
返回值
返回一个原字符串右对齐,并使用空格填充至长度 width 的
新字符串
。如果指定的长度小于字符串的长度则返回原字符串
示例
str1 = "hello"
print(str1)
print(str1.rjust(10, '.'))
输出
判断
startswith()
简介
startswith() 方法用于检查字符串是否是以
指定子字符串开头
,如果是
则返回True
,否则
返回False
。如果参数 beg 和 end 指定值,则在指定范围内检查
语法
str.startswith(sub, start=0,end=len(string))
参数
- sub – 指定检索的子字符串
- start – 开始索引,默认为
0
- end – 结束索引,默认为
len(string)
返回值
如果检测到字符串则返回
True
,否则返回False
示例
str1 = "hello python and hello world"
print(str1.startswith('hello'))
print(str1.startswith('hello', 5, 10))
输出
endswith()
简介
endswith() 方法用于判断字符串是否以
指定子字符串结尾
,如果是
以指定后缀结尾返回True
,否则
返回False
。可选参数"start"与"end"为检索字符串的开始与结束位置
语法
str.endswith(suffix[, start[, end]])
参数
- suffix – 该参数可以是一个字符串或者是一个元素
- start – 开始索引,默认为
0
- end – 结束索引,默认为
len(string)
返回值
如果字符串含有指定的后缀返回
True
,否则返回False
示例
str1 = "hello python and hello world"
print(str1.endswith('world'))
print(str1.endswith('worlds'))
输出
isalpha()
简介
isalpha() 方法检测字符串是否
只由字母
组成
语法
str.isalpha()
返回值
如果字符串
至少有一个字符
并且所有字符
都是字母
则返回True
,否则返回False
示例
str1 = "hello"
str2 = "hello123"
print(str1.isalpha())
print(str2.isalpha())
输出
isdigit()
简介
isdigit() 方法检测字符串是否
只由数字
组成
语法
str.isdigit()
返回值
如果字符串
只包含数字
则返回True
否则返回False
示例
str1 = "123"
str2 = "hello123"
print(str1.isdigit())
print(str2.isdigit())
输出
isalnum()
简介
isalnum() 方法检测字符串是否
由字母和数字
组成
语法
str.isalnum()
返回值
如果 string 至少有一个字符并且所有字符都是字母或数字则返回
True
,否则返回False
示例
str1 = "123-"
str2 = "hello123"
print(str1.isalnum())
print(str2.isalnum())
输出
isspace()
简介
isspace() 方法检测字符串是否
只由空格
组成
语法
str.isspace()
返回值
如果字符串中
只包含空格
,则返回True
,否则返回False
示例
str1 = "1 2 3 "
str2 = " "
print(str1.isspace())
print(str2.isspace())
输出