python学习笔记08:字符串的常用操作

python学习笔记08:字符串的常用操作

capitalize():使字符串的首字母大写

name = "my name is alex"
print(name.capitalize())

打印结果:
My name is alex

count():字符串中,将字符串中包含的某子字符串的数量统计出来

name = "my name is alex"
print(name.count("a"))

打印结果:
2

center():字符串中,一共有x个字符,字符串位于中间,其他位置以-补齐

name = "my name is alex"
print(name.center(50,"-"))

打印结果:
-----------------my name is alex-----------------

zfill():字符串中,一共有x个字符,字符串不够就从字符串最左继续向左,用0补齐

print('Alex Li'.zfill(50))

打印结果:
0000000000000000000000000000000000000000000Alex Li

ljust():返回一定长度的左对齐字符串,长度不够,填充字符,默认填充空格,也可自定义。

print(name.ljust(50,'*'))

打印结果:
my name is alex***********************************

rjust():返回一定长度的右对齐字符串,长度不够,填充字符,默认填充空格,也可自定义。

print(name.rjust(50,'*'))

打印结果:
***********************************my name is alex

endswith():判断该字符串是否是以ex结尾,返回值为true或false

name = "my name is alex"
print(name.endswith("ex"))

打印结果:
True

find():找到字符串中子字符串的位置

# 例一:
info = 'abca123a'
print(info.find('a')) # 从下标0开始,找子字符串第一次出现的位置
print(info.find('a',1)) # 从下标1开始,找子字符串第一次出现的位置
print(info.find('4')) # 不存在的子字符串,运行后返回-1

打印结果:
0
3
-1

# 例二:
name = "my name is alex"
print(name.find("name"))
print(name[name.find("name"):]) #字符串也可以切片,从找到的name的位置开始,显示name及其后面的内容

打印结果:
4
name is alex

format():可以格式化

name = "my name is {name} and I am {year} old"
print(name.format(name = "alex",year = "23"))

打印结果:
my name is alex and I am 23 old

format_map():多用于字典

name = "my name is {name} and I am {year} old"
print(name.format_map(  {"name":"alex","year":18}  ))

打印结果:
my name is alex and I am 18 old

isalnum():判断的是,字符串是否是英文字符或数字1-9

name = "my name is alex"
print(name.isalnum()) #  其中包含非英文和数字的空格,所以返回False
print('am32\f'.isalnum())  # 其中包含非英文和数字的\f,所以返回False
print('ab123'.isalnum())

打印结果:
False
False
True

isalpha():判断的是,字符串是否是纯英文字符

name = "my name is alex"
print(name.isalpha()) #  其中包含非英文的空格,所以返回False
print('adJ'.isalpha())

打印结果:
False
True

isdigit():判断的是,字符串是否是数字形式

name = "my name is alex"
print(name.isdigit())
print('887'.isdigit())   #“887”实际上是个字符串,但isdigit()识别其表现形式为数字
print('889.9'.isdigit())

打印结果:
False
True
False

isdecimal():判断的是,字符串是否是十进制

print('1A'.isdecimal()) # A是16进制表达
print('1222'.isdecimal())

打印结果:
False
True

islower():判断的是,字符串是否是小写

print('dds'.islower())
print('dDs'.islower())

打印结果:
True
False

isspace():判断的是,字符串是否是空格

print('33 a'.isspace())
print('  '.isspace())

打印结果:
False
True

istitle():判断的是,字符串是否为标题格式:每个单词首字母大写

print('my name is '.istitle())
print('My Name Is '.istitle())
print('我有一个梦想'.istitle())

打印结果:
False
True
False

isupper():判断字符串是否是大写

print('my name is '.isupper())
print('My Name Is '.isupper())
print('KKIS'.isupper())

打印结果:
False
False
True

lower():把字符串中大写变小写

print('Alex'.lower())

打印结果:
alex

upper():把字符串中小写变大写

print('Alex'.upper())

打印结果:
ALEX

isidentifier():判断的是,字符串是否是合法的标识符(变量名)----没什么用

name = "my name is alex"
print(name.isidentifier())
print('1222'.isidentifier())
print('age'.isidentifier())

打印结果:
False
False
True

isnumeric():判断的是,字符串是否是数字----没什么用

print('dsk 2A'.isnumeric())
print('33.33'.isnumeric())
print('33'.isnumeric())

打印结果:
False
False
True

expandtabs():字符串中加\t,配合tabsize代表将该位置转换成多少个空格----了解就行了,其实没什么用

name = "my \tname is alex"
print(name.expandtabs(tabsize=30))

打印结果:
my name is alex

swapcase():返回一个字符串的副本,其中大写字符转换为小写,反之亦然。

print('Alex Li'.swapcase())

打印结果:
aLEX lI

strip():去掉两头的空格后回车

print('     \nAlex'.strip())

打印结果:
Alex

lstrip():去掉左边的空格后回车

print('Alex'.lstrip())
print('\nAlex'.lstrip()) #\n代表换行

打印结果:
Alex
Alex

rstrip():去掉右边的空格后回车

print('%%%%')
print('\nAlex'.rstrip())
print('%%%%')

打印结果:
%%%%

Alex
%%%%

translate():通过给定的翻译表,返回映射了每个字符的字符串的副本

p = str.maketrans('abcdef','123456') # maketrans()把字符串转成对应的值
print('alex li'.translate(p))

打印结果:
1l5x li

replace():子字符串旧变新。如果可选参数计数为给定时,只替换第一个计数。
print(‘alex li’.replace(‘l’,‘L’)) #把l替换成大写L
print(‘alex li’.replace(‘l’,‘L’,1)) #把l替换成大写L,只替换一个
print(‘alex li’.replace(‘l’,‘L’,2)) #把l替换成大写L,替换两个
打印结果:
aLex Li
aLex li
aLex Li

rfind():找到字符串最后一位从0开始向前数,返回所查找的子字符串的最高索引

print('alex xix'.rfind('x'))

打印结果:
7

split():将字符串按照某指定元素分成一个列表

print('al ex lil'.split(' '))#将字符串按照空格分成一个列表
print('al ex lil'.split('l'))#将字符串按照l分成一个列表,最后一个l因为l被当成分隔符了,所以l没了
print('1+2+3+4+5'.split('+'))

打印结果:
[‘al’, ‘ex’, ‘lil’]
[‘a’, ’ ex ', ‘i’, ‘’]
[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]

splitlines():按字符串中的换行,分割成一个列表的各元素

print('1+2\n+3+4+5'.splitlines())

打印结果:
[‘1+2’, ‘+3+4+5’]

startswith():如果字符串以指定的前缀开头,则返回True,否则返回False

print('1+2\n+3+4+5'.startswith("n"))
print('my name is alex'.startswith('m'))

打印结果:
False
True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值