字符串
字符串是python中常用的数据类型,使用('或")来创建。
创建字符串:
下标索引
字符串实际上是字符的数组,所以也支持索引。
str1 = 'abcdef'
切片
定义:切片是指对操作的对象截取一部分的操作。字符串、列表、元祖都支持切片操作。
语法格式:[起始值:终值:步长]
附注:切片选取的区间属于左闭右开,即从'起始值'到'终值'的前一位(不包含终值本身)
如:
str1='abcdef'
print('str1[0:3]=',str1[0:3]) #取出 0~3 的字符,不包含3
print('str1[2:4]=',str1[2:4]) #取出 2~4 的字符
print('str1[2:]=',str1[2:]) #取出 2~最后 的字符
print('str1[:-1]=',str1[:-1]) #取出 0~最后 的字符,不包括最后一个
print('str1[:]=',str1[:]) #取出所有字符
print('str1[5:1]=',str1[5:1]) #输出为空
字符串-切片
输出结果为:
步长
str1='abcdef'
print('str1[0::3]=',str1[0::3]) #所有范围的字符,每次前进两个字符
print('str1[0:4:2]=',str1[0:4:2]) #下标0~4之间,每次前进两个字符
print('str1[len(str1)::-1]=',str1[len(str1)::-1]) #倒叙输出
字符串-步长
输出结果为:
字符串常见操作
1、find
检测指定字符串是否包含在当前字符串中,如果是返回开始的索引,否则返回-1。
格式:mystr.find(str,start,end).
如:
str1='How are you,How are you'
index1=str1.find('How') #查询满足的第一个的下标
index2=str1.find('me') #查询是否有,没有返回-1
index3=str1.find('How',12,22) #从指定区间内查询
print('index1={},index2={},index3={}'.format(index1,index2,index3))
字符串-find
输出结果为:
2、index
定义:与find()函数一样,不同之处在于如果要查询的对象不在当前对象中,会报一个异常。
格式:mystr.index(str,start,end)
如:
str1='How are you,How are you'
index1=str1.index('How') #查询满足的第一个的下标
#使用try-except抛出异常
try:
index2=str1.index('me') #查询是否有,没有返回一个异常
except Exception as e:
print(e)
index3=str1.index('How',12,22) #从指定区间内查询
print('index1={},index3={}'.format(index1,index3))
字符串-index
输出结果为:
3、count
定义:返回str在start和end之间出现的次数。
格式:mystr.count(str)
如:
str1='How are you,How are you'
count1=str1.count('How') #查询'How'出现的次数
print(count1) #
字符串-统计次数
4、replace
定义:将当前对象的某部分替换为另外一部分。
格式:mystr.replace(old,new,count=None)
如:
str1='How are you,How are you'
replace1=str1.replace('How','What',count=1) #将How替换为What,替换1次
print(replace1) # 输出为'What are you,How are you'
字符串-替换
5、split
定义:将当前对象按照某种格式或某个字符分割
格式:mystr.split(str,maxsplit),以str为分割符切片mystr,如果maxsplit有指定数字,则分割maxsplit次。
如:
str1='How are you,How are you'
replace1=str1.split(' ',maxsplit=3) #将str1以空格分割,分割3次
print(replace1) # 输出为['How', 'are', 'you,How', 'are you']
字符串-分割
6、capitalize
定义:把字符串首字母大写
格式:mystr.capitalize()
如:
str1='hello'
capitalize1=str1.capitalize() #将str1的首字母大写
print(capitalize1) # 输出为'Hello'
字符串-首字母大写
7、title
定义:字符串的每个单词的首字母都大写
格式:mystr.title()
如:
str1='How are you,How are you'
replace1=str1.title() #将每个单词的首字母大写
print(replace1) # 输出为How Are You,How Are You
字符串-每个首字母大写
8、startswith
定义:检查字符串是否是以指定字符串开头, 是则返回 True,否则返回 False
str1='abcdef'
print(str1.startswith('a'))
print(str1.startswith('b'))
9、endswith
定义:检查字符串是否以指定字符串结束,如果是返回True,否则返回 False。
str1='abcdef'
print(str1.endswith('f'))
print(str1.endswith('a'))
10、lower
定义:将字符串转换为小写。
str1='abcdeF'
print(str1.lower())
11、upper
定义:将字符串转换为小写
str1='abcdeF'
print(str1.upper())
12、ljust
定义:返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
格式:mystr.ljust(参数1,参数2);参数1:填充的个数,参数2:填充的字符
str1='abcdeF'
print(str1.ljust(9,'*'))
13、rjust
定义:返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
格式:mystr.rjust(参数1,参数2);参数1:填充的个数,参数2:填充的字符
str1='abcdeF'
print(str1.rjust(9,'*'))
14、center
定义:返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
格式:mystr.center(参数1,参数2);参数1:填充的个数,参数2:填充的字符
str1='abcdeF'
print(str1.center(9,'#'))
15、lstrip
定义:删除字符串左边的空白字符。
格式:mystr.lstrip()
str1=' abcdeF'
print(str1.lstrip())
16、rstrip
定义:删除字符串末尾的空白字符
格式:mystr.rstrip()
str1=' abcdeF '
print(str1.rstrip())
17、strip
定义:删除字符串两端的空白字符
格式:mystr.strip()
str1=' abcdeF '
print(str1.strip())
18、rfind
定义:类似find()函数,不过是从右侧开始查找。返回最后一次出现的字符,找不到返回-1
格式:mystr.rfind(参数1,参数2,参数3);参数1:查询的字符,参数2:开始查找的位置,默认为0,参数3:结束查找的位置
str1='abcdeF a'
print(str1.rfind('a',7,0))
19、rindex
定义:类似index()函数,不过是从左侧开始查找。找不到返回一个异常
格式:mystr.rindex(参数1,参数2,参数3);参数1:查询的字符,参数2:开始查找的位置,默认为0,参数3:结束查找的位置
try:
str1='abcdeF a'
print(str1.rindex('a',7,0))
except Exception as e:
print(e)
20、isspace
定义:如果字符串只包含空格,则返回True,否则返回False。
格式:mystr.isspace()
str1='abcdeF a'
print(str1.isspace())