python——字符串
概述
字符串一般是用引号来创建的,可以包括数字,字母,中文,特殊字符
语法
str1 = 'hello world'
str2 = "hello world"
str3 = '''hello world'''
三引号有一个区别于单双引号的作用,可以换行输出,对于一些内容很长的字符,不用做字符串拼接
str3 = '''hello world
1 '''
操作
下标
下标也可以称之为 索引,可以用来获取字符串中某个特定的数据,下标识从0开始的
#字符变量[下标]
str1 = "123avg"
str1[0] #输出为1
截取
你也可以说是切片,是对操作的对象截取其中一部分的操作,在字符串、列表、元组都可以使用。
语法:变量名[startIndex: endIndex : step]
- startIndex: 开始位置下标
- endIndex: 结束位置下标
- step:步长,默认为1
注意:
- 不包含结束位置下标对应的数据
- 参数的取值可以是正负整数,如果取负数,表示逆序截取
str1 = 'hello world'
# str1[startIndex: endIndex : step]
print(str1[:4])
print(str1[2:])
print(str1[::-1])
print(str1[0:4])
查找
查找一般是查找子串在字符串中的位置或出现的次数
find(子串,开始位置下标,结束位置下标)
检测某个子串是否包含在这个字符串中,如果在返回这个子串开始位置的下标,否则返回-1
str1 = 'hello world'
print(str1.find("l")) #输出2
print(str1.find("h",5)) #输出-1 这里表示从下标为5的字符串向后进行查找
index(子串,开始位置下标,结束位置下标)
检测某个子串是否包含在这个字符串中,如果在,返回开始位置的下标,否则报异常
str1 = 'hello world'
print(str1.index("l")) #输出2
print(str1.find("h",5))
# 报错,错误信息为:Traceback (most recent call last):
# File "/Users/python/test/pythonProject1/main.py", line 3, in <module>
#print(str1.index("h",5)) #输出-1
# ^^^^^^^^^^^^^^^^^
#ValueError: substring not found
rfind(子串,开始位置下标,结束位置下标)
和find()一样,查找方向从后往前,如果在返回这个子串开始位置的下标,否则返回-1
str1 = 'hello world'
print(str1.find("l")) #输出9
print(str1.find("h",5)) #输出-1 这里表示从下标为5的字符串向前进行查找
rindex(子串,开始位置下标,结束位置下标)
和index()一样,查找方向从后往前,如果在,返回开始位置的下标,否则报异常
str1 = 'hello world'
print(str1.index("l")) #输出2
print(str1.find("h",5))
# 报错,错误信息为:Traceback (most recent call last):
# File "/Users/python/test/pythonProject1/main.py", line 3, in <module>
#print(str1.index("h",5)) #输出-1
# ^^^^^^^^^^^^^^^^^
#ValueError: substring not found
count(子串,开始位置下标,结束位置下标)
返回某个子串在字符串中出现的次数
str1 = 'hello world'
print(str1.find("l")) #输出3
print(str1.find("h",5)) #输出0
修改
去修改已经定义的字符串中数据,字符串类型的数据修改的时候,不能改变原有字符串
replace(旧子串,新子串,替换次数)
替换次数表示替换几次
str1 = 'hello world'
print(str1.replace("l", "1", 1)) # 这里表示只替换l 一次
split(分隔字符,num)
num:表示分隔几次
str1 = 'hello world'
print(str1.split("l"))
join(合并的字符串)
用过一个字符或子串合并字符串
str1 = 'helloworld'
str2 = ("-").join(str1)
print(str2)
capitalize()
字符转换成大写
str1 = 'hello world'
print(str1.capitalize()) # Hello world
title()
字符串每个单词首字母转换成大写
str1 = 'hello world'
print(str1.title())
#Hello World
lower()
大写转小写
str1 = 'HELLO world'
print(str1.lower())
upper()
小写转大写
str1 = 'HELLO world'
print(str1.upper())
lstrip()
删除字符串开头空白字符
str1 = ' HELLO world '
print(str1.lstrip())
rstrip()
删除字符串结尾空白字符
str1 = ' HELLO world '
print(str1.rstrip())
strip()
删除字符串开头结尾空白字符
str1 = ' HELLO world '
print(str1.strip())
ljust(长度,填充字符)
返回一个原字符串左对齐,并使用指定字符天才值对应长度的新字符串
str1 = ' HELLO world '
print(str1.ljust(30,"1"))
str1 = ' HELLO world '
print(str1.ljust(30,"123"))
看上面两个列子,可以发现,填充的字符只能是单个字符,不能是字符串
rjust(长度,填充字符)
返回一个原字符串右对齐,并使用指定字符天才值对应长度的新字符串
center(长度,填充字符)
返回一个原字符串居中,并使用指定字符天才值对应长度的新字符串
判断
startswith(子串,开始位置下标,结束位置下标)
检查字符串是否是以指定子串开头,是返回true,否则返回false
endsswith(子串,开始位置下标,结束位置下标)
检查字符串是否是以指定子串结尾,是返回true,否则返回false
isalpha()
如果字符串至少有一个字符并且所有字符都是字母则返回true,否则false
isdigit()
如果字符串只包含数字则返回true ,否则false
isspace()
如果字符串中只包含空白,返回true,否则false
原文地址:https://blog.csdn.net/weixin_46282323/article/details/137672709
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!