字符串
字符串可以使用索引获取一个字符串可以拿出指定位置的字符
key(字符串) 获取字符串的长度
字符串.count() 小字符串在大字符串中出现的次数
字符串(索引) 从字符串中取出单个字符
字符串.index(字符串) 获得小字符串第一次出现的索引
hello ="hello hello"
#1. 统计字符串的长度
print(len(hello))
#2.统计某一小字符串出现的次数
print(hello.count("l"))
#3.某一个子字符串出现的位置 如果不存在则会报错
print(hello.index("llo"))
字符串的常用操作:
center 方法居中 is__ 全是判断的方法
判断类型(9种)
方法 | 说明 |
---|---|
string.isspace() | 如果string中只包含空格,则返回True(不管是否为\s \t \n) |
string.isalnum() | 如果string中至少有一个字符并且所有字符都是字母或数字则返回True |
string.isalpha() | 如果string至少一个字符并且所有字符都是字母则返回True |
string.isdecimal() (用这个比较好) | 如果string只包含数字则返回True,全角数字(不能判断小数) |
string.isdigit() | 如果string只包含数字则返回True 全角数字 (1)、\ u00b2(不能判断小数) |
string.isnumeric() | 如果string只包含数字则返回True,全角数字,汉字数字(不能判断小数) |
string.istitle() | 如果string是标题化的(每个单词的首字母大写)则返回True |
string.islower() | 如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写)字符都是小写,则返回为True |
string.isupper() | 如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回为True |
查找和替换的方法(七种)
方法 | 说明 |
---|---|
string.startswith(str) 例子:hello_str.startswith(“hello”) 区分大小写 | 检查字符是否以str开头,如果是则返回True |
string.endswith(str) 例子: hello_str.endswith(“word”) | 检查字符串是否以str结束,如果是返回True |
string.find(str,start=0,end=len(string)) 例子:find方法如果指定字符串不存在则不会报错 而index则会报错 hello_str.find(“llo”) | 检查str是否包含在string中,如果start和end 指定范围内,如果是返回开始的索引值,否则返回-1 |
string.rfind(str,start=0,end=len(string)) | 类似于find函数,不过是从右侧开始查找 |
string.index(str,start=0,end(string)) | 跟find()方法类似,只不过如果str不在string会报错 |
string.rindex(str,start=0,end=len(string)) | 类似于index(),不过是从右边开始 |
string.replace(old_str,new_str,num=string.count(old)) 例子:hello_str.replace(“word”,“python”) replace方法执行完成后会返回一个新的字符串,注意,他不会修改原有字符串 | 把string中的old_str替换成new_str 如果num指定,则替换不超过num次 |
大小写转换(五种方法)
方法 | 说明 |
---|---|
string.capitalize() | 把字符串的第一个字符大写 |
string.title() | 把字符串的每一个单词首字母大写 |
string.lower() | 转换string中所有的大写字符为小写 |
string.upper() | 转换string中的小写字母为大写 |
string.swapcase() | 翻转string中的大小写 |
文本对齐(三种方法)
方法 | 说明 |
---|---|
string.ljust(width) | 返回一个源字符串左对齐,并使用空格填充至长度width的新字符串 |
string.rjust(width) | 返回一个源字符串右对齐,并使用空格填充至长度width的新字符串 |
string.center(width) | 返回一个源字符串居中,并使用空格填充至长度width的新字符串 |
小例子
#从网上抓取到的古诗,要求居中输出内容
poem =[
"登鹳雀楼",
"王之涣",
"白日依山尽",
"黄河入海流",
"欲穷千里目",
"更上一层楼"
]
for poem_str in poem:
#采用中文空格来进行填充替换
print("|%s|"% poem_str.center(10," "))
去除空白字符(三种方法)
方法 | 说明 |
---|---|
string.lstrip() | 去掉左侧的空白字符 |
string.rstrip() | 去掉右侧的空白字符 |
string.strip() | 去掉字符串左右两侧的字符 |
应用场景:
例子:如果抓取的格式不工整 则需要处理一下1.先使用strip方法去掉字符串左右两侧的空白字符,在使用center方法居中显示文本。
#从网上抓取到的古诗,要求居中输出内容
poem =[
"\t\n登鹳雀楼",
"王之涣",
"白日依山尽\t\n",
"黄河入海流",
"欲穷千里目",
"更上一层楼"
]
for poem_str in poem:
#1.先使用strip方法去掉字符串左右两侧的空白字符,在使用center方法居中显示文本。
print("|%s|"% poem_str.strip().center(10," "))
拆分和连接(五种方法)
方法 | 说明 |
---|---|
string.partition(str) | 把字符串string分成一个3元素的元组(str前面,str,str后面) |
string.rpartition(str) | 类似于partition()函数,不过是从右边开始查找 |
string.split(str=’’,num)(可以将一个大的字符串拆分成列表) | 以str为分隔符切片string,如果num有指定值,则仅分割num+1个字符串,str默认包含\r \t \n 和空格 |
string.splitlines() | 按照行(\r \n \n)分割,返回一个包含隔行作为元素的列表 |
string.join(seq) | 以string作为分割符,将seq中左右的元素的字符串表示合并为一个新的字符串 |
例子:网络上抓取的诗文特别的不规整,那么我们需要调整一下
poem_str =
"\t\n登鹳雀楼\t王之涣\n白日依山尽\t\n\t黄河入海流\n 欲穷千里目\t更上一层楼"
print(poem_str)
#1.拆分字符串,将其转化为列表
poem_list =poem_str.split()
print(poem_list)
#2.合并字符串
result = " ".join(poem_list)
print(result)
字符串的切片(切片方法适用于字符串 列表 元组)
字符串[开始索引:结束索引:步长]
顺序从0 到 结束
倒序 从 -1 到 最开始
例子:
num_str = "0123456789"
#1.截取从2-5位置的字符串(切片结果不会包含那个数字)
print(num_str[2:6])
#2. 截取从2~末尾的字符串
print(num_str[2:])
#3.截取从开始~5位置的字符串
print(num_str[:6])
#4.截取完整字符串
print(num_str[:])
#5.从开始位置,分隔一个字符截取字符串
print(num_list[::2])
#6.从索引1开始,每隔一个取一个
print(num_list[1::2])
#7.截取2~末尾 -1的字符串
print(num_list[2:-1])
#8.截取字符串末尾两个字符
print(num_list[-2:])
#9.字符串的逆序
print(num_list[-1::-1])