python基础_022__字符串基本使用方法大全

 Python 字符串常用方法总结


# 学习前置条件

1、 注意:对字符串的操作方法都不会改变原来字符串的值,
2、输出结果:中的 | 代表光标位置方便理解
3、注意:学会举一反三,都可以指定去除值哈,不做穷举

 一,去除首尾空格和特殊符号

name = "  xx    刘艳xx     "

1、去除首尾空格和换行符
print(name.strip() + "|")
# 输出结果:xx    刘艳xx|

2、去除首尾某个字符串
print(name.strip('xx') + "|")
# 输出结果:  xx    刘艳xx     |

3、去掉左边的空格和换行符
print(name.lstrip() + "|")
# 输出结果:xx    刘艳xx     |

4、去掉右边的空格和换行符
print(name.rstrip() + "|")
# 输出结果:  xx    刘艳xx|


二、字符串的搜索和替换

name = "mm刘艳xx"

1、查找某个字符在字符串里面出现的次数
print(name.count('x'))
# 输出结果:2

2、首字母大写
print(name.capitalize())
# 输出结果:Mm刘艳xx

 3、把字符串放中间,两边用- 补齐10
print(name.center(10, '-'))
# 输出结果:--mm刘艳xx--

 4、找到这个字符返回下标,多个字符相同时返回第一个;不存在的字符返回-1
print(name.find('uu'))
print(name.find('x'))
# 输出结果:-1
# 输出结果:4

 5、找到这个字符返回下标,多个时返回第一个;不存在的字符报错
print(name.index('x'))
# 输出结果:4
# print(name.index('ttt'))
# 输出结果:报错:ValueError: substring not found  因为ttt不在变量name的值中

6、字符串替换,参数1:替换前的值  参数2:要替换后新的值
print(name.replace("xx", "hhh"))
# 输出结果:mm刘艳hhh

 7、字符串格式化,老用法
print("dddd{}{}".format("你好", "刘艳"))
# 输出结果:dddd你好刘艳

8、字符串格式化,传进去的是一个字典  ---感觉没啥用
print(name.format_map({"name": "刘艳"}))
# 输出结果: mm刘艳xx

 9、字符串格式化,对齐,补位
# 左对其<       右对其     中间对齐^
#  代码中 {:.2f} 或 {age:.2f}中的:[.2] 意思是替换为 2 位精度的浮点数。[f]是指转的值类型是指浮点数类型
#  代码 {:<9} 中 <9  左对其不够9位补齐9位
# {age:05d} 的意思是替换为 5 个字符宽度的整数宽度不足则使用0填充

names = "刘艳"
age = 25
print("姓名: {:<9}  age {:.2f}".format(names, age))
# 输出结果:姓名: 刘艳         age 25.00
print(f"姓名: {names:>9}  age {age:.2f}  ages {age:05d} ")
# 输出结果:姓名:        刘艳  age 25.00  ages 00025


10、divmod()方法,使用*号查封元组

 divmod(参数1, 参数1) 返回一个元组(返回参数1和2,整除和求余的值)

   
num1 = 10
num2 = 10

print(*divmod(num1, num2))  # 输出结果:1 0
print("第一个是num1 与 num2 相整除得到的值 : {}  第二个是num1 与 num2 求余得到的值{}".format(*divmod(num1, num2)))
# 用 * 运算符查封这两个元组,得到这两个值。
# 输出结果:第一个是num1 与 num2 相整除得到的值 : 1  第二个是num1 与 num2 求余得到的值0


print(divmod(num1, num2))
# 输出结果:(1, 0)
# print("第一个是num1 与 num2 相整除得到的值 : {}  第二个是num1 与 num2 求余得到的值{}".format(divmod(num1, num2)))
# 返回的结果只有一个元组,代码中有2个占位符需要传参

举一反三:使用*号查封元组


data = ("刘艳", "1996", "160")
print("名字:{}  {}年的 身高:{}".format(*data))
# 输出结果: 名字:刘艳  1996年的 身高:160


三、字符串的测试和替换函数,返回值 True 或False


1、是否以[Red]开头
print("Red我喜欢红色".startswith("Red"))
# 输出结果:True

2、是否以[红色]结尾
print("Red我喜欢红色".endswith("红色的颜色"))
# 输出结果:False


 3、是否全是字母和数字,并至少有一个字符
print("uuuu888".isalnum())
# 输出结果:True

4、是否全是字母,并至少有一个字符
print("uuuu888".isalpha())
# 输出结果:False


5、是否全是数字,并至少有一个字符
print("45666888".isdigit())
# 输出结果:True


 6、是否全是空白字符,并至少有一个字符
print("   ".isspace())
# 输出结果:True

 7、变量中的字母是否全是小写
print("jkdhfh".islower())
# 输出结果:True

8、变量中的字母是否全是大写
print("jkdhfh".isupper())
# 输出结果:False

9、变量中是否是首字母大写的
print("jkdhfhhhhhYYYYY".istitle())
# 输出结果:False


四、字符串的分割

1、 默认是按照空格分割,返回一个列表
print("你好 刘艳 加油 学习".split())
# 输出结果:['你好', '刘艳', '加油', '学习']

2、默认是按照空格分割,返回一个列表,这里我指定按,逗号分隔
print("你好,刘艳,加油,学习".split(','))
# 输出结果:['你好', '刘艳', '加油', '学习']


五、连接字符串

 join函数的用法:' '.join( )
# 单引号之间是你想要在隔开字符的符号,可以是字母,数字、空格等其他符号, int 类型不能被连接
# 另外,join括号里只支持字符串由字符串组成的列表(字典,字符串,元组)

1、拼接列表
list1 = ['1', '20', '3', '4', '6']
print(' '.join(list1))
# 输出结果:1 20 3 4 6

2、拼接字典的key 或 value

dict1 = {'1': '2', '2': 'for', 'dd': 'df'}
print('--'.join(dict1))
# 输出结果:1--2--dd

print('--'.join(dict1.values()))
# 输出结果:2--for--df

3、拼接字符串
print('+'.join('litany'))
# 输出结果:l+i+t+a+n+y

4、拼接元组
tuple1 = ('1', '2', '3', '4')
print('*'.join(tuple1))
# 输出结果:1*2*3*4


六、截取字符串(切片)

data = "0123456789"

print(data[0:3])  # 截取第一位到第三位的字符
# 输出结果:012

print(data[:])  # 截取字符串的全部字符
# 输出结果:0123456789

print(data[6:])  # 截取第七个字符到结尾
# 输出结果:6789

print(data[:-3])  # 截取从头开始到倒数第三个字符之前
# 输出结果:0123456

print(data[2])  # 截取第三个字符
# 输出结果:2

print(data[-1])  # 截取倒数第一个字符
# 输出结果:9

print(data[::-1])  # 创造一个与原字符串顺序相反的字符串
# 输出结果:9876543210

print(data[-3:-1])  # 截取倒数第三位与倒数第一位之前的字符
# 输出结果:78

print(data[-3:])  # 截取倒数第三位到结尾
# 输出结果:789

print(data[:-5:-3])  # 逆序截取
# 输出结果:96


七、字符串大小写转换

print("name".upper())  # 转大写
# 输出结果:NAME

print("NAME AGE".lower())  # 转小写
# 输出结果:name age

print("NAME AGE".capitalize())  # 字符串首为大写,其余小写
# 输出结果:Name age

print("NAME age".swapcase())  # 大小写对换
# 输出结果:name AGE

print("namE aGe".title())  # 以分隔符为标记,首字符为大写,其余为小写
# 输出结果:Name Age


八、字符串格式输出对齐

1、生成20个字符长度,str排中间
nameA = 'stRINg lEArn'
print(nameA.center(20) + "|")
# 输出结果:    stRINg lEArn    |

2、生成20个字符长度,str左对齐
print(nameA.ljust(20) + "|")
# 输出结果:stRINg lEArn        |


3、生成20个字符长度, str右对齐
print(nameA.rjust(20) + "|")
# 输出结果:        stRINg lEArn|

4、生成20个字符长度,str右对齐,左边填充0
print(nameA.zfill(20) + "|")
# 输出结果00000000stRINg lEArn|

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值