python str的一些操作及处理
一、str的定义:Python中凡是用引号引起来的数据可以称为字符串类型,组成字符串的每个元素称之为字符,将这些字符一个一个连接起来,然后在用引号起来就是字符串。
二、str的简单操作方法:
conut(数)
split(以...分割)
foemat(格式化输出)
replace(元素替换)
startswith(判断是以...开头,返回bool)
endswith(判断是以...结尾,返回bool)
strip(去除首尾字符)
lstrip(去除首字符)
rstrip(去除尾字符)
a = 'Aab123Dd4Aa' # conut(数)startswith(判断是以...开头) endswith(判断是以...结尾) print(a.count("b", 1, 4)) # 1 print(a.startswith("a", 1, 4)) # True print(a.endswith("1", 1, 4)) # True # split(以...分割) print('title,Tilte,atre,'.split('i')) # ['t', 'tle,T', 'lte,atre,'] print('title,Tilte,atre,'.split('t', 2)) # ['', 'i', 'le,Tilte,atre,'] # format 格式化输出 print('{} {} {}'.format('egon', 18, 'male')) # egon 18 male print('{1} {0} {1}'.format('egon', 18, 'male')) # 18 egon 18 print('{name} {age} {sex}'.format(sex='male', name='egon', age=18)) # egon 18 male # strip 去除首尾字符 name = '*bar*ry**' print(name.strip('*')) # bar*ry print(name.lstrip('*')) # bar*ry** print(name.rstrip('*')) # *bar*ry # replace 元素替换 name = 'alex say :my name is alex' print(name.replace('alex', '替换', 1)) # 替换 say :my name is alex
find(返回元素索引,找不到则返回-1)
index(返回元素索引,找不到则报错)
capitalize(首字母大写)
swapcase(大小写反转)
title(每个单词首字母大写)
a = 'Aab123Dd4Aa' # find 返回索引,找不到返回-1 print(a.find("2", 1, 7)) # 4 # index 返回索引,找不到则报错 print(a.index("D", 1, 7)) # 6 # capitalize swapcase title b = 'alex,Taibai jinxiN' print(b.capitalize()) # Alex,taibai jinxin print(b.swapcase()) # ALEX,tAIBAI JINXIn print(b.title()) # Alex,Taibai Jinxin # center c = 'asfht' print(c.center(10, '*')) # **asfht***
is系列
str.isalnum(是否由字母和数字组成)
str.isdigit(是否只由数字组成)
str.isalpha(是否只由字母组成)
str.isupper(是否只由大写字母组成)
str.islower(是否只由小写字母组成)
str.istitle(单词首字母是否为大写)
str.isspace(是否只由空格组成)
str.isnumeric(是否只由数字组成,只针对unicode对象)
str.isdecimal(是否只由十进制组成)
d = 'tai Tbai123' print(d.isalnum()) # 检测字符串是否由字母和数字组成 print(d.isdigit()) # 是否只由数字组成 print(d.isalpha()) # 是否只由字母组成 print(d.isupper()) # 是否只由大写字母组成 print(d.islower()) # 是否只由小写字母组成 print(d.istitle()) # 单词首字母是否为大写 print(d.isspace()) # 是否只由空格组成 print(d.isnumeric()) # 是否只由数字组成,只针对unicode对象 print(d.isdecimal()) # 是否只由十进制组成
小练习:如果用户输入一段包含字母数字的str,怎么计算str中数字之和?(将相邻的数字看作一个整体)
如,输入:se123reg4rtey54 ,则计算123+4+54的结果
print('---用户输入字母数字串,计算所包含的数字之和---') a = input('输入字母或数字:') for i in a: if i.isalpha(): a = a.replace(i, ' ') get_list = (a.split()) list = [] for f in get_list: list.append(int(f)) sum = sum(list) print(sum)