Python 字符串
定义
下标与切片
查找
修改
大小写转换
删除空白字符
字符串对齐
判断
定义:
名称=“字符串内容”
str="http"
下标:
str[k],表示str第k+1个字符
切片:
截取操作对象的一部分的操作。字符串、列表、元组都支持切边操作。
语法:序列【开始位置下标:结束位置下标:步长】
注意:
1.不包含结束位置下标对应的数据,正负数均可。
2.步长为选取间隔,正负数均可,默认个步长为1
strr = "0123456789"
# 下标
str1 = strr[1]
print(str1)
# 切片
print(strr[1:6:2])
print(strr[:5]) # 如果不写开始,默认从0开始选取。
print(strr[2:]) # 如果不写结束,默认选取到最后。
print(strr[:]) # 如果不写开始和结束,默认选取所有。
print(strr[::-7]) # 如果步长为负数,表示倒序选取。
print(strr[-5:-1]) # 下标-1表示最后一个数,依次向前类推。
查找:
find():检测某个子串是否包含在这个字符串中,如果在返回开始的下标,否则返回-1
语法:字符串序列.find(子串,开始位置下标,结束位置下标)
index():检测某个子串是否包含在这个字符串中,如果在返回开始的下标,否则报错
语法:字符串序列.index(子串,开始位置下标,结束位置下标)
count():返回某个子串在字符串中的个数。
语法:字符串序列.count(子串,开始位置下标,结束位置下标)
rfind():和find()功能相同,但查找方式为右侧开始。
rindex():和index()功能相同,但查找方式为右侧开始。
# 查找
str2 = "we are family"
zstr1 = "a"
print(str2.find(zstr1))
print(str2.find(zstr1, 4, 5))
print(str2.find(zstr1, 5))
# print(str2.index(zstr1,4,5)) 报错
print(str2.count(zstr1))
print(str2.rfind(zstr1, 5))
print(str2.rindex(zstr1))
修改:
replace():替换,不会改变原字符串,返回一个新字符串。
语法:字符串序列(旧子串,新子串,替换次数)
split():分割,返回一个列表
语法:字符串序列.split(分割字符,分割次数)
join():把多个字符串合并成一个字符串
语法:字符或子串.join(多字符串组成的序列)
# 修改
print(str2)
zstr2 = "e"
str2.replace(zstr1, zstr2)
print(str2)
str2 = str2.replace(zstr1, zstr2)
print(str2)
List1 = str2.split(zstr2)
print(List1)
print("e".join(List1))
大小写转换:
(都是不改变原字符串,返回新字符串)
capitalize():将字符串第一个字符转换成大写。
语法:字符串序列.capitalize()
title():将字符串每个单词首字母转换成大写。
语法:字符串序列.title()
lower():将字符串中大写转小写
语法:字符串序列.lower()
upper():将字符串中小写转大写
语法:字符串序列.upper()
# 大小写转换
print(str2.capitalize())
print(str2.title())
print(str2.lower())
print(str2.upper())
删除空白字符:
lstrip():删除字符串左侧空白字符
语法:字符串序列.lstrip()
rstrip():删除字符串右侧空白字符
语法:字符串序列.rstrip()
strip():删除字符串两侧空白字符
语法:字符串序列.strip()
# 删除空白字符
str3 = " ok "
print(str3)
print(str3.lstrip())
print(str3.rstrip())
print(str3.strip())
字符串对齐:
ljust():返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串。
语法:字符串序列.ljust(长度,填充字符)
rjust():返回一个原字符串右对齐,并使用指定字符(默认空格)填充至对应长度的新字符串。
语法:字符串序列.rjust(长度,填充字符)
center():返回一个原字符串居中对齐,并使用指定字符(默认空格)填充至对应长度的新字符串。
语法:字符串序列.center(长度,填充字符)
# 字符串对齐
str4 = "hello"
print(str4.ljust(10, '*'))
print(str4.rjust(10, '#'))
print(str4.center(10, '6'))
判断:
startswith():检查字符串是否以指定子串开头,是返回True,否则返回False
语法:字符串序列.startswith(子串,开始位置下标,结束位置下标)
endswith():检查字符串是否以指定子串结尾,是返回True,否则返回False
语法:字符串序列.endswith(子串,开始位置下标,结束位置下标)
isalpha():如果字符串的所有字符都是字母,返回True,否则返回False
语法:字符串序列.isalpha()
isdigit():如果字符串的所有字符都是数字,返回True,否则返回False
语法:字符串序列.isdigit()
isalnum():如果字符串的所有字符都是数字或字母,返回True,否则返回False
语法:字符串序列.isalnum()
isspace():如果字符串的所有字符都是空白,返回True,否则返回False
语法:字符串序列.isspace()
# 判断
str5 = "happy"
print(str5.startswith('h'))
print(str5.endswith('h'))
str6_1 = "aaaaa"
str6_2 = "aaaa111"
str6_3 = "1111"
str6_4 = "adsad-"
str6_5 = " "
print(str6_1.isalpha())
print(str6_2.isalpha())
print(str6_2.isdigit())
print(str6_3.isdigit())
print(str6_2.isalnum())
print(str6_4.isalnum())
print(str6_4.isspace())
print(str6_5.isspace())