参考链接:
(1)python字符串详解
https://www.cnblogs.com/lvtaohome/p/11215954.html
(2)python基础===对字符串进行左右中对齐
(3)Python字符串填充与清除
https://www.cnblogs.com/daiguangkun/p/8997635.html
(4)Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
https://www.jb51.net/article/136708.htm
字符串:在python中引号引起来的就是字符串,是用来存储少量数据。
索引查询
#索引(下标) 通过索引可以精确的定位到某个元素
#Example1
str = "meat" #每一个字母叫做一个元素
# 0123 从左向右代表每一个字母
#-4-3-2-1 从右向左每一个字母
print(str[-1]) #输出 t
#Example2
str = "今天是个好日子"
0 1 2 3 4 5 6
-7-6-5-4-3-2-1
a = str[0]
b = str[1]
print(a+b) #输出今天
切片
#Example1
str = "todayisgood"
print(str[0:2]) #输出:to #顾头不顾尾 str[起始位置:终止位置]
print(str[:]) #某个位置不指定的时候默认取最后或最前
print(str[:3]) #输出:tod
print(str[2:5]) #输出:day
print(str[-2:-5])
print(str[-2:-5:-1]) # **[起始位置:终止位置:步长] 步长默认为1**
#Example2
str = "大黑哥吃大煎饼"
print(str[1:5]) #输出 黑哥吃大
print(str[-2:-6:-1]) #输出 煎大吃哥
print(str[-6:6]) #输出 黑哥吃大煎
a = str[0] #输出 大
b = str[2] #输出 哥
c = str[4] #输出 大
d = str[6]
print(a+b+c+d)
print(str[::2])
print(str[100:105]) #切片的时候起始位置和终止位置都超出的时候不会进行报错
print(str[100]) #索引的时候索引值超出范围的时候会报错
#Example3
s = 'Python最NB'
s[0:3] #获取s字符串中前3个内容
s[2] #获取s字符串中第3个内容
s[-3:] #获取s字符串中后3个内容
s[2:8] #获取s字符串中第3个到第8个
s[1:] #获取s字符串中第2个到最后一个
s[0:6:2] #获取s字符串中第1,3,5个内容
s[1:7:2] #获取s字符串中第2,4,6个内容
s[:] #获取s字符串中所有内容
s[3::2] #获取s字符串中第4个到最后一个,每2个取一个
s[-5::-3] #获取s字符串中倒数第5个到最开始,每3个取一个
字符串
#大小写
#Example1
s = "alex"
s1 = s.upper() #全部大写
print(s1) #输出 ALEX
#Example2
s = "ALEX"
s1 = s.lower() # 全部小写
print(s1) #输出 alex
#验证开头
s = "ALEX"
s1 = s.startswith("E",2,6)
#验证结尾
s = "ALEX"
s1 = s.endswith("X",3,4)
#统计某一字符
s = "alexdxjbx"
s1 = s.count("x")
print(s1) #输出 3
#脱: 字符串头尾两端的空格和换行符以及制表符
s = " alexdsba"
s1 = s.strip() #strip() 方法用于移除字符串头尾指定的字符(默认为空格)
#去掉某一字符
s = "alexdsba"
s1 = s.strip("a") # 可以指定内容取脱
print(s1) #输出 lexdsb
#清除
str.strip()
str.lstrip()
str.rstrip() #作用:清除字符串左右两边的空格或者指定字符,英语:strip=>清除,说明:返回一个新的字符串,原字符串不做修改
#分割:以空格和换行符以及制表符进行分割
s = "aelxlaaa"
s1 = s.split("l",maxsplit=1) # 可以通过指定方式进行切割
#替换
s = "大黑哥吃肉夹馍,肉夹馍"
s1 = s.replace("肉夹馍","大煎饼")
s1 = s.replace("肉夹馍","大煎饼",1) # 指定替换的次数
#首字母大写
str = "alex"
str1 = str.capitalize()
print(str1) #输出 Alex
#每个单词首字母大写
str = "jerry home"
print(str.title()) #输出 Jerry Home
#大小写反转
str = "JerryHome"
print(str.swapcase()) #输出 jERRYhOME
#查找:从左向右,只查找一个
str = "jerry"
print(str.find("r")) #输出 2 (代表第一个"r"的下标)
print(str.find("t")) #输出 -1 (find 查找不存在的返回 -1)
print(str.index("t")) #index 查找不存在的就报错
#拼接
str = "jerry"
print("_".join(str)) #输出 "j_e_r_r_y"
print("*".join(str)) #输出 j*e*r*r*y
print("&".join(str)) #输出 :j&e&r&r&y
#填充:居中填充
print("jerry".center(30,"*")) #输出 ************jerry*************
#str.center(width[,fillchar]) #【作用:根据宽度让字符串居中,默认填充空格,可以自定义填充字符,英语:center=>居中,width=》宽度,fill=》填充,char=》字符,说明:返回一个新的字符串,原字符串不做修改】
#填充:左对齐填充
print(s.ljust(20,"+")) #输出 adc+++++++++++++++++
#填充:右对齐填充
print(s.rjust(20)) #输出 ' adc'
#str.ljust(width[,fillchar])与str.rjust(width[,fillchar])【作用:根据宽度让字符串左对齐/右对齐,默认填充空格,可以自定义填充字符,英语:l=>left|左边,r=》right|右边,just=>正好,恰当,fill=》填充,char=》字符,说明:返回一个新的字符串,原字符串不做修改】
#0填充
str.zifill(width) #作用:根据长度填充空白为0,英语:z=》zero,fill=>填充,说明:返回一个新的字符串,原字符串不做修改
#对齐
str.rjust() #右对齐
str.ljust() #左对齐
str.center() #居中的方法有序列的输出
格式化
主要有三种方式:%s、.f、str.format()
#按不同方式进行填充
str = "jerry{},{},{}"
print(str.format(1,2,3)) #按照位置顺序进行填充,输出 jerry1,2,3
str = "jerry{2},{0},{1}"
print(str.format("a","b","c")) #按照索引值进行填充,输出 jerryc,a,b
str = "jerry{a},{b},{c}"
print(str.format(a=1,c=2,b=3)) #按照关键字进行填充,输出 jerry1,3,2
#字符串 + * 会开辟新的空间
str = "jerry"
str1 = "home" #内存地址都不同
print(id(str)) #输出 2609785706008
print(id(str1)) #输出 2609817396424
print(id(str + str1)) #输出 2609818262256
判断
s = "12.3"
print(s.isalnum()) # 判断是不是字母,数字,中文
print(s.isalpha()) # 判断是不是字母,中文
print(s.isdigit()) # 判断字符串是不是全都是阿拉伯数字
print(s.isdecimal()) # 判断是否是十进制
来源:CSDN
作者:Jxufe渣渣斯
链接:https://blog.csdn.net/JxufeCarol/article/details/104571837