字符串的操作方法
+ 字符串连接操作
str1 = "大金链子"
str2 = "小手表"
str3 = str1 + str2
print(str3)
* 字符串复制操作
str1 = "大金链子"
str2 = "小手表"
str3 = str1*3
print(str3)
[] 字符串索引操作,通过索引访问指定位置的字符,索引从0开始
[::] 字符串取片操作
完整格式:[开始索引:结束索引:间隔值]
[:结束索引] 从开头截取到结束索引之前
[开始索引:] 从开始索引截取到字符串的最后
[开始索引:结束索引] 从开始索引截取到结束索引之前
[:] 截取所有字符串
[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符
r'字符串' 元字符串,所有字符串中的转义字符不会转义,当作普通字符
str1 = "大金链子小手表,一天三顿小烧烤,青春献给小酒桌,怎么澎湃怎么喝!"
print(str1[:7])
print(str1[12:15])
print(str1[-8:])
print(str1[36:])
print(str1[::3])
print(str1[::-2])
#截取"烤烧小"
print(str1[11:14:-1])
#截取 桌小献
print(str1[-10:-15:-2])
print(str1[22:17:-2])
字符串函数
capitalize()
功能:首字母大写 格式:字符串.capitalize() 返回值:新字符串
str2 = str1.capitalize()
str3 = str1.title()
print(str2)
print(str3)
upper()将所有小写字母变成大写 lower()将所有大写字母小写
str2 = str1.upper()
print(str2)
str3 = str2.lower()
print(str3)
swapcase()大小写互换
str2 = str1.swapcase()
print(str2)
len() 计算字符串的长度
val = len(str1)
print(val)
count() 统计字符串中某个元素的数量
val = str1.count("a")
print(val)
find() 查找某个字符串第一次出现的索引位置
str2 = str1.find("t",2,10)
print(str2)
startswith() 判断是否以某个字符为开头
str2 = str1.startswith("t",4)
print(str2)
endswith() 判断是否以某个字符结尾
str2 = str1.endswith("T")
print(str2)
isupper() 判断字符串是否都是大写字母
str3 = "THIS Is A"
str2 = str3.isupper()
print(str2)
islower() 判断字符串是否都是小写字母
# str3 = "this is " # str2 = str3.islower() # print(str2)
isalnum() 判断字符串是否是由数字、字母、汉字组成
# str3 = "thisisa12" # str2 = str3.isalnum() # print(str2)
isalpha() 判断字符串是否由字母和文字组成
# str3 = "thisisπ" # str2 = str3.isalpha() # print(str2)
isdigit() 判断是否是由十进制数字组成的
# str2 = "15" # str3 = str2.isdigit() # print(str3)
isnumeric() 判断是否是数字组成的字符串
# str2 = "123" # str3 = str2.isnumeric() # print(str3)
isdecimal() 判断是否是数值组成的字符串
# str2 = "123" # str3 = str2.isdecimal() # print(str3) # L = ["A","1","bc","26","89",22] # sum1 = 0 # for val in L: # if val.isdigit(): # val1 = int(val) # sum1 += val1 # print(sum1)
isspace() 判断字符串是否由空白符组成
# str3 = "\r\n" # str2 = str3.isspace() # print(str2)
istitle() 判断字符串是否每个单词都首字母大写
# str3 = "This Is a Test" # str2 = str3.istitle() # print(str2)
split() 按照指定的字符进行切分,默认按照空格
# str2 = str1.split() # print(str2) # str3 = str1.split("T") # print(str3)
splitlines() 按照换行来进行切分
# str3 = "this is \n a \n test" # str2 = str3.splitlines() # print(str2) # str3 = """this is # a # test""" # str2 = str3.splitlines() # print(str2)
join() 字符串拼接
# str1 = "@" # str2 = "this" # str3 = str1.join(str2) # print(str3) # str4 = " ".join(str2) # print(str4) # str5 = ["this "," is","a","test"] # str6 = str1.join(str5) # print(str6)
zfill() 填充字符串
# str1 = "this" # str2 = str1.zfill(10) # print(str2)
center() 填充字符串 然后字符串居中
# str1 = "this" # str2 = str1.center(10,"#") # print(str2)
ljust() 字符串居左填充
# str1 = "this" # str2 = str1.ljust(10,"$") # print(str2)
rjust() 字符串居右填充
# str1 = "this" # str2 = str1.rjust(10,"%") # print(str2)
strip() 去掉指定的字符串 默认去掉换行
# str1 = "this" # print(str1) # str2 = str1.strip("t").strip("h") # print(str2)
rstrip() 从右边去掉某个字符
# str1 = "this" # print(str1) # str2 = str1.rstrip("s") # print(str2)
lstrip() 从左边去掉某个字符
# str1 = "this" # print(str1) # str2 = str1.lstrip("t") # print(str2)
maketrans() 和 translate()
""" maketrans() 功能:制作用于字符串替换的映射表 格式: 字符串.maketrans('查找字符','替换字符') 两个字符必须长度相等 返回值:字典 translate() 功能:进行字符串替换操作 格式:字符串.translate(映射表) 返回值:替换之后的字符串 """ # str1 = "this is a test" # str2 = str1.maketrans("t","Y") # print(str2) # str3 = str1.translate(str2) # print(str3)
format 格式化字符串
语法: 它通过{}和:来代替%。
注意: 字符串的format函数可以接受无限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。
顺序传参
# str1 = "{} say hello to {}" # str2 = str1.format("jack","jerry") # print(str2)
按照索引值进行传参 注意:大括号中传递得是Index值,不要超出索引范围
# str1 = "{1} say hello to {0}" # str2 = str1.format("jack","jerry") # print(str2)
按照索引来进行传参
# str1 = "{0[1]} say hello to {0[0]}" # str2 = str1.format(["jack","jerry"]) # print(str2)
关键字来进行传参
# str1 = "{name} is {age} years old!" # str2 = str1.format(name = "tom",age = 100) # print(str2)
填充
""" 居中 ^ 左对齐 < 右对齐 > """ # 填充格式写在前边 要填充的字符在format参数中 # str1 = "this" # str2 = "{:$^10}".format(str1) # print(str2) # str1 = "this" # str2 = "{:$<10}".format(str1) # print(str2) # str1 = "this" # str2 = "{:$>10}".format(str1) # print(str2)
调整精度(四舍五入)
# str1 = "{:.2f}".format(1.2434) # print(str1)
进制转换
# str1 = "{:b}".format(17) # print(str1) # # str1 = "{:o}".format(17) # print(str1) # # str1 = "{:d}".format(17) # print(str1) # # str1 = "{:x}".format(17) # print(str1)
逗号,还能用来做金额的千位分隔符:
# str1 = "{:,}".format(123456789) # print(str1)