Zero-py系列:字符串处理概览(超详细+全面)🎉🎉🎉
目录
什么是字符串 ✨✨✨
在 Python 中,由引号引起的都是字符串,可以是 单引号,也可以是 双引号
字符串处理 ✨✨✨
1.字符串大小写转化
- 首字母大写
title() 方法将每个单词首字母大写,对于有空格的字符串,空格后的首字母也大写
str1 = "abc def"
print(str1.title()) # Abc Def
str2 = "abcdef"
print(str2.title()) # Abcdef
- 全大写和全小写
str1 = "Abc dEF"
print(str1.upper()) # ABC DEF
print(str1.lower()) # abc def
2.字符串中使用转义字符
name = "name:\n\txiao bai"
print(name)
# 输出:name:
# xiao bai
3.字符串中使用变量
使用 “f字符串” 在字符串中使用变量, 也可对变量进行一些处理
first_name = 'xiao'
last_name = 'bai'
name = f"{first_name} {last_name}"
print(name) # 输出:xiao bai
name = f"{first_name.title()} {last_name.title()}"
print(name) # 输出:Xiao Bai
print(f"my name is {first_name.title()} {last_name}") # my name is Xiao bai
3.删除空白
🚨 使用 rstrip() 方法 只能临时删除空白,想要永久删除空白,要将结果关联到原来的变量
🚨注意:这里是为了直观看见效果输出加上引号,原本输出不带引号的
txt = ' blank '
print(txt) # ' blank '
# 临时删除空白
print(txt.rstrip()) # ' blank'
print(txt.lstrip()) # 'blank '
print(txt.strip()) # 'blank'
# 这里 txt 内容没有变化
print(txt) # ' blank '
# 永久删除空白
txt = txt.strip()
print(txt) # 'blank'
4.删除前缀
- removeprefix() 方法
这里和删除空白一样,保持原始字符不变,想要永久删除重新赋给原始变量即可
url = 'http://api.openweathermap.org/data/2.5'
url.removeprefix('http://')
print(url) # http://api.openweathermap.org/data/2.5
url = url.removeprefix('http://')
print(url) # api.openweathermap.org/data/2.5
5.字符串的10种拼接方式 📌📌📌
由于内容过长,请移步:字符串的10种拼接方式🥰🥰🥰
该文章最后可以跳转回来本文章
6.字符串中元素和子串查找
- find() 方法
语法
字符串序列.find(子串,开始位置的下标, 结束位置的下标), 查找子串第一次出现的位置
str = 'xiao and bai and XB'
# 找到就返回字串开始时的下标
print(str.find('and')) # 5
print(str.find('and', 10, 18)) # 13
# 没找到则返回 -1
print(str.find('Xiao')) # -1
- index() 方法
区别
index() 检测某个子串是否包含在这个字符串中,如果在返回这个子串开始位置的下标,否则则报出异常
str = 'xiao and bai and XB'
# 查找字串第一次出现的位置
print(str.index('and')) # 5
print(str.index('and', 10, 18)) # 13
# 没有找到则返回 -1
print(str.index('Xiao')) # 异常
- rfind和rindex方法
rfind和rindex方法
用法和上面一样,只是从字符串的末尾开始查找
str = 'xiao and bai and XB'
# 查找字串第一次出现的位置
print(str.rfind('and')) # 13
print(str.rfind('and', 0, 10)) # 5
# 没有找到则返回 -1
print(str.rfind('Xiao')) # -1
- count() 方法
统计在 字符串/列表/元组 中某个字符出现的次数。
str = 'xiao and bai and XB'
print(str.count('and')) # 2
7.字符串转化为列表 📌
- list(str) 暴力转化
将字符串每个元素都拆分储存在列表里面
str1 = '123str'
lst1 = list(str1) # ['1', '2', '3', 's', 't', 'r']
str2 = '123 str'
lst2 = list(str2) # ['1', '2', '3', ' ', 's', 't', 'r']
- str.split() 指定分隔方式
🚨注意:如果要指定分隔次数,就必须指定分隔符
语法:
str.split(str = “”, num = string.count(str))
str => 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num => 分割次数。默认为 -1, 即分隔所有。 如果参数 num有指定值,则分隔成num+1个子字符串
# 默认为空字符
str1 = "hello world"
lst1 = str1.split() # ['hello', 'world']
str2 = "hello world"
lst2 = str2.split(' ') # ['hello', 'world']
# 指定分隔次数
str3 = "xiao bai xiao bai xiao bai"
lst3 = str3.split(' ', 2) # ['xiao', 'bai', 'xiao bai xiao bai']
8.列表转化为字符串 📌
🚨注意:列表转字符串,前提是列表里是字符串
语法:
str.join(sequence)
将sequence序列中的元素以指定的字符(分隔符)str连接生成一个新的字符串。
str => 分隔符,可以为空
sequence =>要连接的元素序列。(例如,字符串、元组、字典、列表)
lst = ['xiao', 'bai']
str1 = ''.join(lst) # xiaobai
str2 = ' '.join(lst) # xiao bai
最后 ✨✨✨
🌈Zero-Py系列(Python基础知识部分)创建是想要对Python基础语法进行一个全面的总结,便于大家系统的查找相关知识点和一些技巧,由于想要尽量全面展示知识点,所以分为几个模块来阐述
如果想要对总体知识进行检索,可以跳转链接: Python基本知识点以及一些处理技巧概览(📌总体大纲=>可自由检索)进行查看
如果有什么不足或者疑问,欢迎留言讨论🥰🥰🥰