python取字符串首字母_python学习之字符串

本文详细介绍了Python字符串的各种操作,包括capitalize()、lower()、casefold()、center()、ljust()、rjust()、count()、endswith()、startswith()、find()、index()、format()、isalnum()、isalpha()、isdecimal()、isdigit()、isnumeric()、isidentifier()、isprintable()、isspace()、istitle()、join()、islower()、isupper()、lstrip()、rstrip()、strip()、maketrans()、translate()、partition()、rsplit()、split()、splitlines()、startswith()、endswith()和swapcase()等方法的使用示例和效果。
摘要由CSDN通过智能技术生成

字符串的“魔法"

capitalize():首字母大写

test = "aLex"

# 首字母大写

v= test.capitalize()

print(v)

lower():所有字符变为小写

casefold():所有变小写,caseflod更牛逼,很多未知的相对应变小写

#所有变小写,caseflod更牛逼,很多未知的相对应变小写

test = 'ALEX'

v1 =test.casefold()

print(v1)

v2 = test.lower()

print(v2)

center():设置宽度,并将内容居中

# 20代表总长度,没有加填充的符号,默认是空白填充

# * 填充,填充只能是一个字符,且可有可无

test = 'alex'

v1 = test.center(20)

v2 = test.center(20,'*')

print(v1)

print(v2)

#字符串放左边后填充

test1 = 'akda'v1= test1.ljust(20,'*')print(v1)#字符串放右边后填充

test2 = 'sjds'v2= test2.rjust(20,'*')print(v2)

输出:

akda****************

****************sjds

count():去字符串中寻找,寻找子序列的出现次数

#在完整的字符串中寻找,ex出现2次的情况

test = "aLexalex"

v = test.count('ex')

print(v)

#可以设置要寻找字符串的起始位置,结束位置

#下面是从第五个位置开始寻找,顺序是从0开始计算的,aLexal即012345

test = "aLexalexr"

v = test.count('ex',5)

print(v)

#从第5个位置到第6个位置开始寻找,

test = "aLexalexr"

v = test.count('ex',5,6)

print(v)

endswith():#以什么什么结尾startswith():以什么什么开始

test = "alex"

v1 = test.endswith('ex')

v2 = test.startswith('a')

v3 = test.startswith('b')

v4 = test.startswith('q')

print(v1)

print(v2)

print(v3)

print(v4)

find():从开始往后找,找到第一个之后,获取其位置,找不到的时候,报-1

test = 'alexalex'

v = test.find('ex')

print(v)

#指定范围内获取对应位置

test = 'alexalex'

v = test.find('ex',5,8)#位置大于等于5小于8

print(v)

#找不到位置的时候报-1

test = 'alexalex'

v = test.find('8')

print(v)

#index索引,与find类似,index找不到,报错;建议忽略这个index,直接用find查找

test = 'alexalex'

v = test.index('ex')

print(v)

#找不到直接报错

test = 'alexalex'

v = test.index('8')

print(v)

#格式化,将一个字符串中的占位符替换为指定的值

#格式化占位符的两种方式,方式一:

test = 'i am {name},age {a}'

print(test)

v =test.format(name='alex',a = 19)

print(v)

# 方式二:数字从小到大,0开头

test = 'i am {0},age {1}'

print(test)

v =test.format('alex',19)

print(v)

#格式化,传入的值 {'name':'alex','a':19} 是这种格式的

test = 'i am {name},age {a}'

print(test)

v =test.format_map({'name':'alex','a':19})

print(v)

#判断字符串中是否只包含:字母或数字

test = 'uasf890_+'

v = test.isalnum()

print(v)

test = 'uasf890_'

v = test.isalnum()

print(v)

test = 'uasf890'

v = test.isalnum()

print(v)

# \t 制表符 \n 换行

#expandtabs(),断句,遇到制表符时填充空字符,括号内的数值为断句的间隔字符值

test = 'asdzzx\temail\npppppsjjhj\tassss\nvdasdaz'

v1 = test.expandtabs(4)

print(v1)

#是否是字母或汉字:isalpha()

test1 = '123'

v1 = test1.isalpha()

print(v1)

test2 = "abc"

v2 = test2.isalpha()

print(v2)

test3 = '汉字'

v3 = test3.isalpha()

print(v3)

test4 = '汉字ABC'

v4 = test4.isalpha()

print(v4)

#判断当前输入的是否是数字:isdecimal()、isdigit()test5 = '123'v5 = test5.isdecimal()

v6 = test5.isdigit()

print(v5)

print(v6)

#判断特殊数字的情况test6 ='②'v7 =

test6.isdecimal()

v8 = test6.isdigit()

print(v7)

print(v8)

#大小写转换

test7 = 'aLEx'v9=test7.swapcase()print(v9)

#检查是否是字母、数字、下划线 开头a = 'def'b= '1def'c= '_def'v1=a.isidentifier()

v2=b.isidentifier()

v3=c.isidentifier()print(v1,v2,v3)#输出 True False True

#判断是否是数字

test7 ='1'test8= '②'test9= '二'v7= test7.isdecimal()#支持十进制的小数,如1.2.3.4.5

v8 = test8.isdigit()#支持十进制小数,也支持特殊字符的小数,①、②、④等

v9 = test9.isnumeric()#支持十进制消失,也支持特殊字符的小数,还支持中文的数字,如一、二、三等

print(v7,v8,v9)

输出:True True True

#是否存在不可显示的字符,如 \t \n 是打印不出来的#\t 制表符#\n 换行

test1 = 'asfjaibkvb'test2= 'asfaf\tsdadd'test3= 'asdasd\nasdas'v1=test1.isprintable()

v2=test2.isprintable()

v3=test3.isprintable()print(v1,v2,v3)

输出:True False False

#判断是否全部是空格

test1 = ''#没有字符,null

test2 = ' '#一个空格

test3 = 'aksh jfcia'#字符串加空格字符

test4 = ' '#多个空格

v1 =test1.isspace()

v2=test2.isspace()

v3=test3.isspace()

v4=test4.isspace()print(v1,v2,v3,v4)

输出:False True False True

#判断是否是标题#变成标题

test1 = 'Create a new string object from the given object'v1= test1.istitle()#判断是否是标题

print(v1)

v2= test1.title()#转变为标题,标题即每个首字母都是大写

print(v2)

v3=v2.istitle()print(v3)

输出:

False

Create A New String Object From The Given Object

True

#***** :将字符串中的每一个元素按照指定分隔符进行拼接

test = '你是风儿我是沙'

print(test)

t= ' 'v1= t.join(test)#将分隔符通过赋值的方式添加拼接

print(v1)

v2= ' '.join(test)#将分隔符直接添加拼接

print(v2)

v3= '_'.join(test)#分隔符为下划线的情况

print(v3)

输出:

你是风儿我是沙

你 是 风 儿 我 是 沙

你 是 风 儿 我 是 沙

你_是_风_儿_我_是_沙

#判断是否全部是大小写和转换为大小写

test1 = 'Alex'v1=test1.islower()

v2=test1.lower()

v3=v2.islower()

v4=test1.isupper()

v5=test1.upper()

v6=v5.isupper()print(v1,v2,v3,v4,v5,v6)

输出:

False alex True False ALEX True

#剔除

test1 = "alex"v1= test1.lstrip()#剔除左边的空格

print(v1)

左边的空格被剔除,保留右边的空格

test1 = "alex"v1= test1.rstrip()#剔除右边的空格

print(v1)

右边的空格被剔除,保留左边的空格

test1 = "alex"v1= test1.strip()#空白都剔除了

print(v1)

左右两边的空白都剔除了

#除了可以去除空白,还能去除\n和\t

test1 = '\nasds'test2= '\tsdsa'v1=test1.lstrip()

v2=test2.lstrip()print(v1)print(v2)

#指定内容进行去除

test1 = 'asfhias'v1= test1.lstrip('as')print(v1)

输出:fhias

#指定内容进行去除,多匹配的时候

test1 = 'abcdefg'

#从右往左defg在匹配内容中有,进行去除,到c的时候,匹配中不存在,停止去除,输出adebc

v1 = test1.rstrip('defglj')print(v1)

输出:

adebc

#指定字符串对应关系,进行替换,这两个方法通常会组合使用

v = 'asibsdokaskdmankzxocalcbss'm= str.maketrans('abcde','12345')#指定字符串对应关系

new_v = v.translate(m)#替换字符串

print(new_v)

输出:

1si2s4ok1sk4m1nkzxo31l32ss

#分割

test1 = 'adgskjhsdisajlsiv'v1= test1.partition('s')#从左边开始找到第一个 s 进行分割,永远只能把字符串分割成3份,包含分割的元素s

print(v1)

输出:

('adg', 's', 'kjhsdisajlsiv')

#分割

test1 = 'adgskjhsdisajlsiv'v1= test1.rpartition('s')#从右边开始找到第一个 s 进行分割,永远只能把字符串分割成3份

print(v1)

输出:

('adgskjhsdisajl', 's', 'iv')

#split 也是分割,由左往右,不包含分割的元素,如下用法

#rsplit,也是分割,一样的用法,是由右往左

test = 'dfgaskdshjasokfsjac'v1= test.split('s')

v2= test.split('s',1)

v3= test.split('s',2)print(v1)print(v2)print(v3)

输出:

['dfga', 'kd', 'hja', 'okf', 'jac']

['dfga', 'kdshjasokfsjac']

['dfga', 'kd', 'hjasokfsjac']

#splitlines分割,只能根据换行符分割,True,False:是否保留换行

test ='hsdfjba\nikashdi\nbvfide'v1=test.splitlines()

v2=test.splitlines(True)

v3=test.splitlines(False)print(v1)print(v2)print(v3)

输出:

['hsdfjba', 'ikashdi', 'bvfide']

['hsdfjba\n', 'ikashdi\n', 'bvfide']

['hsdfjba', 'ikashdi', 'bvfide']

#startswith:判断以XXX开头#endswith:判断以XXX结尾

test = 'difhias'v1= test.startswith('d')

v2= test.startswith('a')

v3= test.endswith('as')

v4= test.endswith('ad')print(v1)print(v2)print(v3)print(v4)

输出:

True

False

True

False

#swapcase: 大小写转换

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

输出:

alEX

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值