基本数据类型——str

字符串 str

重点:join(插入)、split(分隔)、find(查找)、strip(去除)、replace(替换)、upper 、lower

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

1 test ='你是风儿我是沙'
2 print(test)
3 t = " "
4 v = t.join(test)
5 print(v)

结果:

你是风儿我是沙

你 是 风 儿 我 是 沙

 

-split#永远不包含分隔元素

1 test ="testsdhjnsgdkjnadsmdkasff"
2 v = test.split('s')
3 print(v)

结果:['te', 't', 'dhjn', 'gdkjnad', 'mdka', 'ff']

1 v = test.split('s',3)#切割三次
2 print(v)
3 #结果:['te', 't', 'dhjn', 'gdkjnadsmdkasff']
-find 方法:查找字符串中符合条件的内容
test = "aLexalex"
v = test.find("ex") #从开始往后找,找到第一个之后,获取其位置
print(v)
#结果:2
test = "aLexalex"
v = test.find("ex",3,8)#从开始往后找,找到第一个之后,获取其位置从第5到7位
print(v)
#结果:6

-lstrip  rstrip  strip#去除空白,\n \t 和指定参数

 1 test = ' alex dd'
 2 v1 = test.lstrip()#删除左边的空格
 3 v2 = test.rstrip()#删除右边的空格
 4 v3 = test.strip()#删除左右两边的空壳
 5 print(v1)
 6 print(v2)
 7 print(v3)
 8 #结果alex dd
 9 #alex dd
10 #alex dd
test = 'dd alex dd'
v = test.lstrip('dd')#删除从左到右 的第一个'dd'
print(v)
#结果:alex dd

-replace

test = 'alexalexalex'
v = test.replace('ex','bb') #替换原字符串的内容为指定内容
print(v)
#结果:albbalbbalbb
test = 'alexalexalex'
v = test.replace('ex','bb',2)#替换原字符串的内容为指定内容,第三参数是只替换前二个
print(v)
#结果:albbalbbalex

-lower和upper:将字符串改为大写或小写形式

以及其他字符串方法:

—capitalize

test = "alex"
#首字母大写
v = test.capitalize()
print(v)
#结果:Alex
casefold和lower

test = "aLex"
#所有的变小写,casefold更牛逼,很多未知转变为对应的小写
v1 = test.casefold()
print(v1)
v2 = test.lower()
print(v2)
#结果:alex
#        Alex
-center

test = "aLex"
v = test.center(20,"*")
#设置宽度,并将内容居中
#20,代表长度
#空白位置填充,一个字符,可有可无
print(v)
#结果:********aLex********
-count

#从字符串中寻找,寻找子序列出现次数
test = "aLexalexr"
v = test.count('ex')
print(v)
#结果:2
test = "aLexalexr"
v = test.count('ex',5,6)#从第5个开始,第六个结束
print(v)
#结果:0
-endswitch 
-startswitch

test = "alex"
v = test.endswith("x")
v1 = test.startswith("a")
print(v)
print(v1)
#结果:True
#        True
-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”“”
 1 #格式化,将一个字符串中的占位符替换为指定的值
 2 test = "i am {0} age {1}"
 3 print(test)
 4 v = test.format("alex", 19)
 5 print(v)
 6 #结果:i am {0} age {1}
 7         i am alex age 19
 8 
 9 test = "i am {name} age {a}"
10 v1 = test.format(name = "alex",a = 19)
11 v2 = test.format_map({"name":"alex","a":18})
12 #一定是({"name":"alex","a":18})
13 print(v1)
14 print(v2)
15 #结果:i am alex age 19
16         i am alex age 18
View Code
-index#index找不到,自动报错,一般使用find,没有返回值为-1

test = "alexAlex"
v = test.index("ex")
print(v)
#结果:2
test = "alexAlex"
v = test.index("8")
print(v)
#结果:直接报错
#ValueError: substring not found
-isalnum #判断只能是由数字、字母组成的字符串,是返回True,错误返回false

test = "u789_+"
v = test.isalnum()
print(v)
#结果:False


test = "u789"
v = test.isalnum()
print(v)
#结果:True
test = "username\temail\tpassword\nlaiying\[email protected]\t147\nlaiying\[email protected]\t147\nlaiying\[email protected]\t147\n"
v = test.expandtabs(20)#以20的字符为准,遇到\t制表符则不全20个字符
print(v)
'''
结果:
username            email               password
laiying             [email protected]        147
laiying             [email protected]        147
laiying             [email protected]        147
'''
  -isalpha#判断字符串是否全是由字母、汉字组成

test = 'ada2ssd'
v =test.isalpha()#
print(v)
#结果:False

-数字的判定

test = ""
v1 = test.isdecimal()#
v2 = test.isdigit()
v3 = test.isnumeric()
print(v1,v2,v3)
#结果:False True True

test = ""
v1 = test.isdecimal()#十进制的数字
v2 = test.isdigit()#包含特殊数字的符号和十进制的数字
v3 = test.isnumeric()#不仅包含数字,特殊符号的数字、中文的数字
print(v1,v2,v3)
#结果:False False True

-isidentifier

test = "_131"
v = test.isidentifier()#是否符合变量的命名规则,由:字母,数字,_组成
print(v)
#结果:True

-islower#是否全是小写组成

test ='efas123fads'
v = test.islower()
print(v)
#结果:False

-isprintable

test = "sdfaf\ndadsda"#包含\n 换行符 \t制表符
v = test.isprintable()#isprintable判断是否有不可显示的字符
print(v)
#结果:False

-isspace#判断字符串是否全部为空格,返回真

test = 'jknsdf kamn'
v =test.isspace()
print(v)
#结果:False

test = ' '
v =test.isspace()
print(v)
#结果:True
-istitle

test = 'Return True if S is a titlecased string and there is at least one'
#判断标题,每个单词首字母都是大写,则是标题
v = test.istitle()
print(v)
#结果:False
-title

test = 'Return True if S is a titlecased string and there is at least one'
#判断标题,每个单词首字母都是大写,则是标题
v = test.title()#将字符串调整为标题格式
print(v)
#结果:Return True If S Is A Titlecased String And There Is At Least One

test = 'Return True if S is a titlecased string and there is at least one'
#判断标题,每个单词首字母都是大写,则是标题
v1 = test.istitle()
print(v1)
v2 = test.title()#将字符串调整为标题格式
print(v2)
v3 = v2.istitle()
print(v3)
#结果:
#    False
#Return True If S Is A Titlecased String And There Is At Least One
#True

-isupper upper

test = 'AlEx'
v1 =test.isupper()#是否字符串全是大写
print(v1)
v2  = test.upper()#将字符串改为全是大写
print(v2)
v3 = v2.isupper()
print(v3)
#结果:
#False
#ALEX
#True

-lstrip  rstrip  strip#去除空白,\n \t 和指定参数

test = ' alex dd'
v1 = test.lstrip()#删除左边的空格
v2 = test.rstrip()#删除右边的空格
v3 = test.strip()#删除左右两边的空壳
print(v1)
print(v2)
print(v3)
#结果alex dd
 #alex dd
#alex dd

-makestrans  translate

v = 'dkmksaasdnfkansasdugjijdasdssssd'
m =str.maketrans('asd','123')#创建对应关系
new_v  = v.translate(m)#进行替换
print(v)
print(new_v)
#结果:
#dkmksaasdnfkansasdugjijdasdssssd
#3kmk21123nfk1n2123ugjij312322223

-partition#分隔是包含分隔元素

test ="testsdhjnsgdkjnadsmdkasff"
v = test.partition("s")#找到第一个s进行分隔
print(v)
#结果:('te', 's', 'tsdhjnsgdkjnadsmdkasff

-rpartition

test ="testsdhjnsgdkjnadsmdkasff"
v = test.rpartition('s')
print(v)
结果:('testsdhjnsgdkjnadsmdka', 's', 'ff')

-splitlines

test = "ksmkdmak\njsnjan\nnfjanjs"
v = test.splitlines()#只根据换行符进行分隔
print(v)
#结果:['ksmkdmak', 'jsnjan', 'nfjanjs']

test = "ksmkdmak\njsnjan\nnfjanjs"
v = test.splitlines(True)#只根据换行符进行分隔,True,False是否显示保留换行符
print(v)
#结果:['ksmkdmak\n', 'jsnjan\n', 'nfjanjs']
#参数为False为默认值

-startswitch#是否以某个字符串开头

test = "backend 1.1.1.1"
v = test.startswith('ba')#字符串是否以ba开头
print(v)
#结果:True

-endswitch

test = "backend 1.1.1.1"
v = test.endswith('1') #是否字符串以1为结尾
print(v)
结尾:True
-swapcase

test = "AlEx"
v = test.swapcase()#大小写装换
print(v)
#结果:aLeX
 

猜你喜欢

转载自www.cnblogs.com/msj513/p/9064764.html
今日推荐