Python学习Day4字符串详解


字符串函数详解


find函数:默认是从前往后找,找到第一个字串(sub),获取其位置。
如果找不到,返回-1.

test = 'alexalex'
v = test.find('ex',5,8)
print (v)

输出结果:6
默认格式为:左闭右开,即[开始,结束)

format函数:格式化,将字符串中的占位符替换为指定的值。

test = 'i am {name} ,age {a} '
print (test)
v = test.format(name='alex',a=19)
print(v)
 
输出结果:i am {name} ,age {a} 
i am alex ,age 19 


test = 'i am {0} ,age {0} '
print (test)
v = test.format('alex',19)
print(v)

输出结果:i am {0} ,age {0} 
i am alex ,age alex 

test = 'i am {0} ,age {1}'
print (test)
v = test.format('alex',19)
print(v)

输出结果:i am {0} ,age {1}
i am alex ,age 19

format_map:一对一对地出现
传入的值:类似这种 {‘name’:‘alex’,‘a’:10}

test = 'i am {name} ,age {a}'
v = test.format(name ='alex',a = 10)
v1= test.format_map({'name':'alex','a':10})
print(v) 
print(v1)

输出结果:i am alex ,age 10
i am alex ,age 10

index函数:与find函数一样,查找字串,但是如果找不到,系统直接报错。

expandtabs函数:进行断句,以参数x个为一组进行断句,如果出现 \t ,不够x个,补空格到x个,没有发现 \t,不用补空格。(类似填表)
def expandtabs(self, tabsize=None):
将tab转换成空格,默认一个tab转换成8个空格

test='ababc\ta\taa'
v =test.expandtabs(6)
print(v,len(v))

输出结果:ababc a     aa 14





test ='username\t email\tpassword\n王强\t1111@qq.com\t123456\n王强\t1111@qq.com\t123456\n王强\t1111@qq.com\t123456\n'
v =test.expandtabs(15)
print(v)

运行结果:
username        email         password
王强             1111@qq.com    123456
王强             1111@qq.com    123456
王强             1111@qq.com    123456

isalnum函数:判断字符串中是否只包含子母和数字。

test = '123_+=1'
v = test.isalnum()
print(v)

输出结果为:False

test = '123abc123'
v = test.isalnum()
print(v)

输出结果为:True

isalpha函数:判断字符串中是否只包含字符或者汉字。

test = '王强'
v = test.isalpha()
print(v)
输出结果:True

test = 'alex'
v = test.isalpha()
print(v)

输出结果为:True

isdigit函数:判断字符串只包含数字,但对于特殊的数字也能判断。
isdecimal函数:不能判断特殊的数字,十进制的数字可以判断。
isnumeric函数:包括中文的数字,也可以判断

test = '二'
v1 = test.isdigit()
v2 = test.isdecimal()
v3 = test.isnumeric()
print(v1,v2,v3)

输出结果:False False True

swapcase函数:将大写转为小写,小写转为大写。

test = 'AlEX'
v = test.swapcase()
print(v)

输出结果:aLex

isidentifier函数:判断是否为合法的标识符。

test = '1a'
v = test.isidentifier()
print(v)

输出结果:False

istitle函数:判断是不是标题,即字符串中的所有首字母是否都大写
title函数:将字符串中的首字母都大写,变成标题形式。

t = 'l love acm'
v =t.title()
v1=v.istitle()
print(v)
print(v1)
输出结果:
L Love Acm
True

isprintable函数:如果字符串中存在转义字符,比如\n,\t之类的,则返回False。

isspace函数:判断字符串中是否全是空格,如果是则返回True,不然返回False。

join函数:将字符串中的每一个元素按照指定的分隔符来进行拼接。

t = '我吃西红柿'
test = '❤️'
v=test.join(t)
print(v)
输出结果:我❤️吃❤️西❤️红❤️柿

也可以直接
t = '我吃西红柿'
v='❤️'.join(t)
print(v)
输出结果:我❤️吃❤️西❤️红❤️柿

islower函数:判断是否都小写
isupper函数:判断是否都大写
lower函数:全部转为小写
upper函数:全部转为大写

t = 'Alex'
v1 = t.islower()
v2 =t.lower()
print(v1,v2)
输出结果:False alex

maketrans函数和translate函数:将字符串s的所有元素分别替换成字符串t中的所有元素。

t = '1234567'
t1 = '你是风儿我是杀'
v ='1a2b3c4d5e6f7g'
v1=str.maketrans(t,t1)
new_v =v.translate(v1)
print(new_v)

输出结果:你a是b风c儿d我e是f杀g
将1替换成你,2替换成是,3替换成风 ...

replace函数:替换函数

test ='alexalex'
v = test.replace('ex','aaa',1)
print(v)
输出结果:alaaaalex
1表示将第一个ex替换成aaa

lstrip函数:截掉 string 左边的空格(默认),可以指定字符串,字符串可以是一个字符,或者多个字符,匹配时不是按照整个字符串匹配的,而是一个个匹配的。
rstrip函数:默认取出右边空白
strip函数
也可以移除换行\n,\t,还可以移除指定字串(有限最多匹配)

t = ' 12ab'
v = t.lstrip()
print(v)
输出结果为:12ab

t = '12ab '
v = t.rstrip()
print(v)
输出结果为:12ab

str1:'  iam string  '
str1.lstrip():'iam string  '
str2:'@@@@@iamstring@@@@@'
str2.lstrip('@'):'iamstring@@@@@'
str2.lstrip('@@'):'iamstring@@@@@'
str2.lstrip('@@@@@@'):'iamstring@@@@@'
str2.lstrip('@i'):'amstring@@@@@'
str2.lstrip('@a'):'iamstring@@@@@'

正则表达式:自己决定是否要分割元素
parttition函数:分割,最多分割成三份
rpartition函数:从右往左分割

t = "alexabcxak"
v = t.partition('x')
print(v)
输出结果:
('ale', 'x', 'abcxak')

split函数:可指定分割的个数,但是不包含分割的元素
rsplit函数:从右往左

t = "alexabcxak"
v = t.split('x')
print(v)
输出结果:['ale', 'abc', 'ak']

t = "alexabcxak"
v = t.split('x',1)
print(v)
输出结果:['ale', 'abcxak']
确定分割成两份

splitlines函数:只能根据换行符来分割,传的参数(True or False)来决定是否保留换行

t = "alex\nabcx\nak"
v = t.splitlines(True)
print(v)

输出结果:['alex\n', 'abcx\n', 'ak']

t = "alex\nabcx\nak"
v = t.splitlines(False)
print(v)
输出结果:['alex', 'abcx', 'ak']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值