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
View Code

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***
View Code

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())  # 是否只由十进制组成
View Code

 

小练习:如果用户输入一段包含字母数字的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)
View Code

 

posted @ 2019-07-02 22:46  不发光的sun  阅读(2287)  评论(0编辑  收藏  举报