首页 > 代码库 > python学习-基础-day3-字符串操作
python学习-基础-day3-字符串操作
字符串特性是不可修改
1,大小写相关的及title
1 name = ‘lao cui‘ 2 print(name.capitalize()) # 将字符串的首字母大写 3 print(name.upper()) #小写-->大写 4 print(‘cUI Qhaha‘.lower()) #大写-->小写 5 print(name.title()) #标题的形式,字符串中每个空格后面的首字母都大写 6 print(‘cUI Qhaha‘.isupper()) #字符串是不是全是大写 7 print(‘cui qhaha ‘.islower()) #字符串是不是全是x小写 8 print(‘cUI Qhaha‘.swapcase()) #大写-->小写,小写-->大写 9 print(‘Lao Cui Ha‘.istitle()) #是不是标题的格式
输出:
1 ---- 2 Lao cui 3 LAO CUI 4 cui qhaha 5 Lao Cui 6 False 7 True 8 Cui qHAHA 9 True
2,count()和列表中的用法一样
>>> test1
‘lu si zhen zhu‘
>>> test1.count(‘z‘) #查找字符串中有几个z
2
3,自动补全相关
1 print(‘Lao cui a‘.center(30,‘*‘)) #将字符串长度更改为30,不够的用*替代,原字符串放在中间 2 print(‘Lao cui a‘.ljust(30,‘*‘)) #同上,放左边 3 print(‘Lao cui a‘.rjust(30,‘*‘)) #同上 4 print(‘Lao cui a‘.zfill(30)) #用0补全
输出:
1 **********Lao cui a*********** 2 Lao cui a********************* 3 *********************Lao cui a 4 000000000000000000000Lao cui a
4,encode(将字符串转换为二进制)
>>> ‘哈哈‘.encode()
b‘\xe5\x93\x88\xe5\x93\x88‘
python3里默认的是utf-8
相当于
>>> ‘哈哈‘.encode(‘utf-8‘)
b‘\xe5\x93\x88\xe5\x93\x88‘
5,endswith(判断字符串是否以*结尾)
>>> ‘****@163.com‘.endswith(‘@163.com‘)
True
>>>
常用的方法:比如判断是否为有效的邮箱地址等
6,find(找到字符串中***的起始位置下标)和rfind(找到字符串最右边符合条件的第一个字符的下标)
>>> ‘****@163.com‘.find(‘63.c‘)
6
>>>
‘63.c‘的第一个字符是6,下标是6
>>> ‘abc def abc‘.find(‘abc‘)
0
>>> ‘abc def abc‘.rfind(‘abc‘)
8
>>>
7,index(索引)跟列表一样
>>> ‘****@163.com‘.index(‘6‘)
6
>>> ‘****@163.com‘.index(‘c‘)
9
字符串的切片:用法跟列表一样
>>> ‘woaini‘[2:-1:2]
‘an‘
>>>
8,format(格式化)和format_map
>>> ‘my name is {name},I am {year}.‘.format(name = ‘laocui‘,year = 27)
‘my name is laocui,I am 27.‘
>>>
>>> ‘my name is {name},I am {year}.‘.format_map({‘name‘:‘laocui‘,‘year‘:27})
‘my name is laocui,I am 27.‘
9,判断字符串内容
1 print(‘123Abc‘.isalnum()) # 判断字符串是否只包含英文字符和数字 2 print(‘123abc‘.isalpha()) #是否只包含英文字母 3 print(‘AbcDc‘.isalpha()) #是否只包含英文字母 4 print(‘12.34‘.isdigit()) #是否为一个整数 5 print(‘12345‘.isdigit()) #是否为一个整数 6 print(‘1abcD‘.isupper()) #是否都是大写 7 print(‘1abcd‘.islower()) #是否都是小写
输出:
1 True 2 False 3 True 4 False 5 True 6 False 7 True
另外还有很多方法,不常用就不写了
>>> b="ddefdsdff_哈哈" >>> b.isidentifier() #检测一段字符串可否被当作标志符,即是否符合变量命名规则 True
10,join(重要)
print(‘+‘.join([‘1‘,‘2‘,‘3‘])) #python3中,join里面列表中的数字都要写成字符串形式
输出:1+2+3 ,我用type输出值,返回<class ‘NoneType‘>
print(‘笨蛋‘.join([‘你是‘,‘,他是‘,‘。‘]))输出:你是笨蛋,他是笨蛋。,type,返回<class ‘str‘>
11,maketrans和translate
p = str.maketrans(‘abcdef‘,‘123456‘) #‘abcdef‘与‘123456’一一对应
print(‘lao cui‘.translate(p)) #替换
12,rplace(替换)
print(‘lao cui haha‘.replace(‘a‘,‘A‘)) #将字符串中的小a全部替换为A,默认全替换,后面数字表示从左到右替换几个 print(‘lao cui haha‘.replace(‘a‘,‘A‘,2))
输出:
lAo cui hAhA
lAo cui hAha
13,split和splitlines(字符串转换为列表)
1 print(‘wo hen ai ni‘.split()) #默认以空格为分隔符 2 print(‘wo hen ai ni‘.split(‘n‘)) #指定以‘n’为分隔符 3 print(‘wo hen\n ai\n ni‘.splitlines()) #以换行符为分隔符
输出:
1 [‘wo‘, ‘hen‘, ‘ai‘, ‘ni‘] 2 [‘wo he‘, ‘ ai ‘, ‘i‘] 3 [‘wo hen‘, ‘ ai‘, ‘ ni‘]
python学习-基础-day3-字符串操作