以下操作均在pycharm
pycharm官方下载地址:
https://www.jetbrains.com/pycharm/download/#section=windows
目录
python中字符串操作类型分为一下几种?
一、格式化方式
a.capitalize?首字母改成大写
a.casefold 全部变为小写并作对比?
?a.center? 字符串两遍填充任意符号并居中
a.expandtabs 修改tab键的占位符
?a.ljust 从字符串右边填充
a.rjust 从字符串左边开始填充? #与ljust用法一致,区别一个左边 一个右边填充
a.lower 将字符串中所有的大写变为小写
?a.swapcase 大小写互换
?a.title?改成标题,即每个单词首字母大写
?a.upper 改成大写
?
?a.zfill 原字符串右对齐,前面填充0
?a.strip?将字符串内最左边和最右边的空格和多余字符去掉
?a.lstrip 左边去掉多余的空格与tab键????????a.rstrip 右边去多余的空格与tab键
?a.format? 引用外部变量
?二、字符串判断方式
?a.startswith 判断字符串中以什么开头 #如果字符串开始和结尾有空格判断结果为False
a.endswith 判断字符串中以什么结尾?#如果字符串开始和结尾有空格判断结果为False
a.isalnum 判断字符串是不是数字
a.isalpha? 判断字符串中是否为字母
?a.isdigit 判断字符串是否为数字 #只能判断整数
a.isnumeric 判断字符串是不是数字 与 isdigit 有什么区别?
a.isdecimal 如果字符串是否只包含十进制字符返回True,否则返回False。
a.islower 判断字符串是否为小写
a.isupper? 是不是全是大写? 跟上面类似
?a.isprintable 是否可以打印
?a.isspace? 是不是空格?
a.istitle 是否为标题
?三、字符串的查、改、计数、替换
a.find 查找字符串中单个字符 从左开始
?a.rfind? 跟find一样? 不同点在这个是从右开始找
a.index 与find查找方式类似,不同点在于find找不到会返回-1的值 而index会直接报错?
?a.rindex # 与rfind是一样的,从右边开始找,跟index同理?
a.count? 计数 ?可将字符串中某个字符出现的次数统计出来
?a.split? 默认按空格切割 将字符串内空格分开的所有字符分割为单个元素
?a.rsplit? 与split同理 不过是从右边开始切割 同样可以使用maxsplit? ?
?a.splitlines 以特殊符号切割 比如:\t \n ....等
a.removeprefix??前缀某些字去掉
a.removesuffix 后缀某系子去掉 与removeprefix意思相同 区别就在于是从最后一个开始去除
?a.replace 替换
?
python中字符串操作类型分为一下几种?
一、格式化方式
总览
a.capitalize #首字符改成大写
a.casefold #为方便字符串之前对比,改成小写
a.center #字符串两遍填充
a.expandtabs #类似于tab键设定长度 这种写法在定义a的值时候需要加\t 如a = "abc\tabc" \t为tab键默认占8个字符 这个可以修改\t的间隔
a.ljust #从字符串右边填充
a.rjust #从字符串左边填充
a.lower #全变小写
a.swapcase #大小写互换
a.title #改成标题,即每个单词首字母大写
a.upper #改成大写
a.zfill #字符串空的地方填0
a.strip #两边去死皮 就将字符串内最左边和最右边的空格和多余字符去掉
a.lstrip #左边去掉多余的空格与tab键
a.rstrip #右边去多余的空格与tab键
a.format #引用外部变量
详解?
a.capitalize?首字母改成大写
例如:
a = "this is my dog" #定义字符串
print(a.capitalize()) #将首字母改成大写
运行结果:
a.casefold 全部变为小写并作对比?
a = "this is my dog"
b = "This is My Dog"
print(b.casefold() == a) #表示将b的字符串全部小写并与a做对比
运行结果:? #如果你直接判断 不加casefold的情况 返回的值为False
?a.center? 字符串两遍填充任意符号并居中
a = "this is my dog"
print(a.center(50,"-")) #表示字符串以“-”形式填充够50个字符,将a的内容居中
运行结果:
a.expandtabs 修改tab键的占位符
a = "this is my\t dog"
print(a.expandtabs(10)) #字符串中\t代表 tab键 默认为8个占位符 括号内10代表将tab键改为10个占位符
运行结果:
?a.ljust 从字符串右边填充
a = "this is my dog"
print(a.ljust(30,"~")) #表示从字符串最右边填充到30个“~”符号
运行结果:
a.rjust 从字符串左边开始填充? #与ljust用法一致,区别一个左边 一个右边填充
a.lower 将字符串中所有的大写变为小写
a = "THIS Is My Dog"
print(a.lower()) #将字符串中所有的大写变为小写,只能用于英文
?运行结果:
?a.swapcase 大小写互换
a = "THIS Is My Dog"
print(a.swapcase()) #将字符串中所有的大小写转换一下
运行结果:
?a.title?改成标题,即每个单词首字母大写
a = "THIS is my dog"
print(a.title()) #将字符串内容改成标题,并且首字母大写
运行结果:
?
?a.upper 改成大写
a = "THIS is my dog"
print(a.upper()) #将所有字符串内所有的英文转变为大写
运行结果:
?a.zfill 原字符串右对齐,前面填充0
a = "THIS is my dog"
print(a.zfill(20)) #从右侧填充0直到够20个字符
运行结果
?a.strip?将字符串内最左边和最右边的空格和多余字符去掉
a = "\t THIS is my dog "
print(a.strip()) #去除多余空
print(a) #未去除多余空 做个对比
运行结果:
?a.lstrip 左边去掉多余的空格与tab键????????a.rstrip 右边去多余的空格与tab键
a = "\t THIS is my dog "
print(a.lstrip()) #左边去掉多余的空格与tab键
print(a.rstrip()) #右边去多余的空格与tab键
?运行结果:
c = "my name is {name} i years old is {age}"
print(c.format(name="张三",age=22))
#在字符串内应用设定的变量值 但只有引用时才能有效果
c1 = "my name is {0} i years old is {1}"
print(c1.format("李四",22))
#这种写法类似于传参的方式 将format后面的括号内的内容从第0个开始传入到对应的地方
?运行结果:
?二、字符串判断方式
总览
a.startswith #判断以什么开头 为真返回True 为假返回False
a.endswith #判断以什么结尾
a.isalnum #是不是字母或者数字
a.isalpha #判断是不是字母 如果定义的值中有空格或者tab返回值也是False
a.isdigit #判断是不是数字 只能判断整数
a.isascii #判断字符编码
a.isdecimal #如果字符串是否只包含十进制字符返回True,否则返回False。
a.isidentifier #是不是py语法关键词 是不是合法的可以做变量关键字
a.islower #判断是不是小写
a.isnumeric #是不是数字,跟isdigit有什么关系? 可以判断中文的数字 比如 二十五 三十五这样
a.isprintable #是否可以打印
a.isspace #是不是空格
a.istitle # 是不是标题
a.isupper # 是不是全是大写
详解
?a.startswith 判断字符串中以什么开头 #如果字符串开始和结尾有空格判断结果为False
a = "This is my cat"
print(a.startswith("Th")) #字符串中有Th开头则 返回为True
print(a.startswith("TH")) #定义的字符串中明显没有TH 所以返回的值肯定为 False
如果定义的字符串内开头有空格或者tab 可以添加参数strip
?运行结果
a.endswith 判断字符串中以什么结尾?#如果字符串开始和结尾有空格判断结果为False
a = " This is my cat "
print(a.endswith("t")) #判断字符串中结尾的字符是否为“t” #直接判断结果为False
print(a.strip().endswith("t")) #如果你定义的字符串结尾有空格可以这样做判断
运行结果?
?
a.isalnum 判断字符串是不是数字
a = "123com"
print(a.isalnum()) #如果字符中有数字与字母 结果为真
b = "123.456.qwe"
print(b.isalnum()) #如果有小数点或者特殊符号 结果为假
运行结果:
a.isalpha? 判断字符串中是否为字母
b = "qwe"
print(b.isalpha()) #判断是否为字母
?运行结果:
?a.isdigit 判断字符串是否为数字 #只能判断整数
a = "123"
print(a.isdigit()) #整数为真
b = "123.456"
print(b.isdigit()) #非整数为假
运行结果
a.isnumeric 判断字符串是不是数字 与 isdigit 有什么区别?
a = "十七"
print(a.isnumeric()) #判断中文数字的大写
b = "123.456"
print(b.isnumeric()) #如果不是整数 结果为假
c = "123"
print(c.isnumeric()) #判断是否为整数
运行结果
a.isdecimal 如果字符串是否只包含十进制字符返回True,否则返回False。
a = "123"
print(a.isdecimal()) #如果只包含十进制数 结果为真
b = "123.456"
print(b.isdecimal()) #否则为假
?运行结果
a.islower 判断字符串是否为小写
a = " this is my cat "
print(a.islower()) #字符串为全小写 结果为真
b = "This is My cat"
print(a.islower()) #如果字符串有大写 结果为假
?运行结果
a.isupper? 是不是全是大写? 跟上面类似
?a.isprintable 是否可以打印
?a.isspace? 是不是空格?
a = " "
print(a.isspace()) #为空格 为真
b = " a b c "
print(b.isspace()) #否则为假
c = "\t"
print(c.isspace()) #\t 结果为真
运行结果
a.istitle 是否为标题
a = "This is my cat"
print(a.istitle())
运行结果?
?三、字符串的查、改、计数、替换
总览?
a.find # 查找字符串中的单个字符 是从左边开始找
a.rfind # 跟find一样 这个是从右开始找,并非左边
a.index ###比find好用 # 跟find功能是差不多,区别就是 find没有找到会返回-1的值 而index则会直接报错
a.rindex # 与rfind是一样的,从右边开始找,跟index同理
a.count # 计数 可将字符串中某个字符出现的次数统计出来 ###可以选段操作
a.split # 默认按空格切割 将字符串内空格分开的所有字符分割为单个元素
a.rsplit # 与split同理 不过是从右边开始切割 同样可以使用maxsplit
a.splitlines # 切割元素
a.removeprefix #前缀某些字去掉
a.removesuffix #后缀某系子去掉 与removeprefix意思相同 区别就在于是从最后一个开始去除
a.replace #替换
详解
a.find 查找字符串中单个字符 从左开始
a = "This is my cat"
print(a.find("i")) #这里注意 只能从左边查到的第一个“i”的位置,第二个不会显示
print(a.find("is")) #也可以查找多个字符 返回的值为“i”所在的位置
print(a.find("i",3,10)) #截取的方式 意思是从第3个下标开始查找“i”的位置 直到第10个结束
print(a.find("d")) #如果查询没有则会返回-1的值 不会报错
运行结果
?a.rfind? 跟find一样? 不同点在这个是从右开始找
a = "This is my cat"
print(a.rfind("t")) #从最后一个字符开始找起 最后的结果是从第0个开始计数 直到找到“t”停
?运行结果
a.index 与find查找方式类似,不同点在于find找不到会返回-1的值 而index会直接报错?
a = "This is my cat"
print(a.index("T")) #查找字符串中的“T”所在位置
print(a.index("i",3,10)) #与find一致,可以截取位置查询
print(a.index("d")) #如果字符串中查到没有,则会报错
?运行结果
?a.rindex # 与rfind是一样的,从右边开始找,跟index同理?
a.count? 计数 ?可将字符串中某个字符出现的次数统计出来
a = "This is my cat"
print(a.count("i")) #查找字符串中i出现的次数
print(a.count("i",3,10)) #从第三个位置开始(也就是s的位置) 查找“i”有几个,10可填可不填,不填默认到最后一个字符所在的位置结束
print(a.count("d")) #如果没有则会返回0的值
运行结果
?a.split? 默认按空格切割 将字符串内空格分开的所有字符分割为单个元素
a = "This is my cat"
print(a.split()) #以字符串中的空格作为切割,从而生成单个元素
print(a.split("i")) #也可以已字母为切割点
print(a.split(maxsplit=1)) #可以设置切割次数 这里是从0开始算的
运行结果
?a.rsplit? 与split同理 不过是从右边开始切割 同样可以使用maxsplit? ?
?a.splitlines 以特殊符号切割 比如:\t \n ....等
a = "This\nis\nmy\ncat"
print(a) #直接打印会换行 作为一个对比
print(a.splitlines()) #以特殊字符切割
b = "This is my dog"
print(b.splitlines()) #如果字符串中没有特殊字符 那么只会有一个元素
?运行结果
a.removeprefix??前缀某些字去掉
a = "This is my dog"
print(a.removeprefix("This is")) #将字符串中“This is”去掉
print(a.removeprefix("Thisis")) #如果字符串中有空格你去掉的时候没有空格就会失效
运行结果
a.removesuffix 后缀某系子去掉 与removeprefix意思相同 区别就在于是从最后一个开始去除
a = "This is my dog"
print(a.removeprefix("dog")) #从前缀去除
print(a.removesuffix("dog")) #从后缀去除
运行结果
?a.replace 替换
a = "This is my dog dog"
print(a.replace("dog","cat"))#将dog 替换成cat 默认是全部替换
print(a.replace("dog","cat",1)) #这里可以只替换一个 是从左边开始的第一个
print(a.replace("d","#")) #也可以换成特殊字符
运行结果
?后续还更新,敬请期待
|