字符串常用操作
1、join 字符串拼接
join(list) 参数是列表,返回值是字符串
data = ["2020", "08", "03"]
print("/".join(data))
print("2020" + "/" + "08" + "/" + "03")
a = 'a'
b = 'b'
print("".join([a, b]))
2、find 查找
find(str) 参数是字符串,返回值int
能找到时返回第一次出现的下标,找不到时返回-1
a = 'abcdefgefef'
print("find('ef'):", a.find("ef")) #只会返回第一次出现的位置(下标)
print("find('z'):", a.find('z')) #找不到,返回-1
3、index 查找
index(str),index(list) 参数是字符串或者列表
找不到时报错,能找到时跟find一样
index可以用于list,find不可以
print("index('ef'):", a.index('ef')) #找不到时报错,能找到时跟find
print("index('z'):", a.index('z'))
注意:
lis = ['lx', '奔波儿灞', True]
print("index(1):", lis.index(1))
print("index(True):", lis.index(True))
print("index(2):", lis.index(2)) #报错
上面这个实例说明,在这里1 == True,1就是True,0==False
在if语句中,False有:空字符、空字典、空元组、空列表、None,0(空格不是False),剩下都是True
4、count 计数
str.count(‘str1’) str1可以是字符,也可以是字符串
list.count(list[index]) 在列表中使用时,参数是列表中的元素时,就代表结果>0,如果不是列表元素,结果为0
b = 'abcdefgefefc'
list = ['lx', '奔波儿灞', True, False, 'lx', (3, 4)]
print("count('ef'):", b.count('ef'))
print("count('z'):", b.count('z'))
print("count('lx'):", list.count('lx'))
print("count((3,4)):", list.count((3, 4)))
5、replace 替换
replace(old, new) 如果old不存在,则不会改变
c = "a1 a2 a3 a4"
print(c.replace(' ', '^'))
print(c.replace('a', 'b'))
print(c.replace('c', 'b')) #没有可替换的,字符串不变
6、split 切割,分隔
返回值是一个列表
time_data = "2020/08 /03"
print(time_data.split("/"))
print(time_data.split("/", 1)) #第二个参数为分隔次数
print(time_data.split()) #默认以空格分隔
7、upper 将小写字母换成大写
d = 'abcd'
d2 = 'AbCdEf123'
print(d.upper())
print(d2.upper())
8、strip 去掉开头和结尾的XX
name = "\n xi liu\n "
print('name:', name.strip()) #---> 去掉头尾的空格、换行符
name1 = "&xi liu&&&"
print('name1:', name1.strip('&')) #---> 去掉头尾的&
name2 = 'ff6f6f66abfdcf666'
print('name2:', name2.strip('6f')) #去掉开头和结尾的 6和 f
9、字符串格式化输出
1、format()
title = 'XX Python的学习 XX'
name = '奔波儿灞'
date = '2020/08/03'
time = '14:08:23'
print(
'''
-------------------------------------------------------
{}
{} {}
1、X X X X X X X X X X
2、好好学习,天天向上
3、B B B B B B B B B B B B
{}
-------------------------------------------------------
'''.format(title, date, time, name)
)
{}是占位符
2、f
print(
f'''
-------------------------------------------------------
{title}
{date} {time}
1、X X X X X X X X X X
2、好好学习,天天向上
3、B B B B B B B B B B B B
{name}
-------------------------------------------------------
'''
)
这两种方法,运行结果一模一样