【4.0】字符串的内置方法

TechMemoirs / 2024-09-03 / 原文

【一】字符串内置方法

#【1】字符串拼接
# "+" 可以字符串拼接
# ' '.join(可迭代类型) 借助元组或者列表
print(''.join(["1","2","3"]))  #123
print("-".join("coll"))   #c-o-l-l
print("*".join({"fit","basket","ball"})) #fit*ball*basket  无序

#[2]字符串索引取值
# 正向索引 :从0开始 从左向右
# 负向索引 : 从 -1 开始 从右向左
print("dream"[0])
print("dream"[-1])
# 字符串可以索引取值但是不支持索引改值
#[3]切片
#按照位置将某部分取出来
# 字符串[索引] ---> 索引取值
# 字符串[索引1:索引2] ---> 根据索引区间将整体某部分切粒出来
# 包头不包尾
print("dream"[1:4])  #rea
# 字符串[起始索引:终止索引:步长] ---> 根据索引区间将整体某部分按照步长切离出来
print("dhsbsj"[0:3:1])  #dhs
print("ghdydsb"[-5:-1])  #dyds

# 字符串[::-1] 将整个字符串进行翻转
print("basketball"[::-1])  #llabteksab
print("basketball"[::-2]) #latka
#[4]长度
#len(变量名)

#[5]
#成员运算  判断某个字符是否在某个成员内
# 表达式 : "字符" in "需验证的成员(字符串)"
print("b" in "basketball")  #True

# [6]去除特殊字符
#表达式 变量名.strip("要去除的特殊字符")
#strip() 默认值为空格或者换行
name = "**coll**"
print(name)   #**coll**
print(name.strip("*"))  #coll

#去除左边的特殊字符
#表达式 变量名.lstrip("去除左边的特殊字符")
print("**cool**".lstrip("*"))  #cool**
#去除右边边的特殊字符
#表达式 变量名.rstrip("去除右边的特殊字符")
print("**cool**".rstrip("*"))  #**cool
#[7]切分字符串
# 按照指定的分隔符将字符串进行切割 并且分隔符会消失
name = "app*opp*edd"
print(name.split("*"))  #['app', 'opp', 'edd']

#[8]遍历字符串
#for while 循环遍历
#[9] 字母大小写转换
name = "UserName"
#将所有单词转换为小写字母
print(name.lower())  #username
#将所有单词转换为大写字母
print(name.upper())  #USERNAME
#[10]首尾部字符判断
#表达式:" 字符串".startswith('字符')  开头
#      " 字符串".endswith('字符')  #结尾
#判断某个字符是否是当前字符串的开头或结尾
print("cool".startswith("c"))  #True
print("cool".endswith("l"))   #True

#【11】格式化输出
#%s  '{}'.format()  f"{变量名}"
#【12】替换指定字符
#表达式  变量名.replace(" 被替换的字符", " 要替换的字符")
# 前面放需要被替换的内容,后面放替换进去的内容
name = "dream"
print(name.replace("d","m"))  #mream

# 【13】判断当前字符串是否是否符合整数类型
print("1".isdigit())  #True

【二】,了解的内置方法

#[1]查找
# 在字符串中查找某个字符所在的索引位置
# 从左向右找 找到一个就返回索引位置 不会继续向后找
#表达式 "字符串".find("要查找的字符")
# 从右向左找 找到一个就返回索引位置 不会继续向前找
#表达式 "字符串".rfind("要查找的字符")
# 如果需要查找的字符在当前字符串中不存在 就会返回 -1

# (2)index
# 从左向右找 找到一个就返回索引位置 不会继续向后找
#表达式 "字符串".index("要查找的字符")
# 从右向左找 找到一个就返回索引位置 不会继续向前找
#表达式 "字符串".index("要查找的字符")
# 如果需要查找的字符在当前字符串中不存在 就会直接报错

# 【2】统计当前字符在当前字符串中出现的次数
# 【3】填充
# (1)填充在两侧
# --dream--
# 表达式:变量名.center(len(变量名) + 增加的长度,"需要填充的字符")
name = "coll"
print(name.center(len(name) + 2, "*"))  #*coll*

# 如果填充的长度是奇数, 优先填充右侧然后在填充左侧
print(name.center(len(name) + 3, "*"))  #*coll**

# (2)左对齐
# 左对齐使用的是 右边的 rjust
# 表达式:变量名.rjust(len(变量名) + 增加的长度,"需要填充的字符")
# (3)右对齐
# 右对齐使用的是 左边的 ljust
# 表达式:变量名.ljust(len(变量名) +增加的长度,"需要填充的字符")

# (4)填充 0
# 默认使用 0 填充至指定的长度 并且是从左向右填充
print(name.zfill(len(name) + 3))  #000dream

#[4]首字母大写
#表达式 : 变量名.capitalize()
#[5]大小写翻转
## 全大写 .upper()
# 全小写 .lower()

# 让大写变小写 小写变大写
#表达式:变量名.swapcase()

# 【6】让整句话的每一个单词首字母大写
# 每个单词要用空格隔开 否则不生效
#表达式:变量名.title()