五. python 字符串方法函数
一 .字符串方法函数
什么是字符串
就是以 单引号或者双引号引起来的任意文本
'ancask的库时时刻刻'
"ABC事实就是惊声尖叫
1. 创建字符串:
str1="abcde骨灰盒fgaa" str2="abcde吾问无为谓fgaa" str3="abcdefg少时诵诗书所所aa"
2.字符串运算连接
str6="SKSDK就是死你KsbDSKDKSKK" str9="ASSASADADA1111" str=str6+str9 print(str)
#SKSDK就是死你KsbDSKDKSKKASSASADADA1111
3.输出重复字符串
str7="J数据的技术角度讲" str10=str7*3 print(str10) # J数据的技术角度讲J数据的技术角度讲J数据的技术角度讲
4.访问字符串中某一个字符 索引重零开始 # 字符串名[下标] # 注意字符串不可变
str="4555555555*5555SSSJSJSJ" print(str[1]) # 5
5.截取字符串
str5="ABCDEC" str6=str5[1:4] #从1截取到4但是不包含4 print(str6) #BCD
str5="ABCDEC" str6=str5[2:] #截取到末尾 print(str6)#CDEC
str5="ABCDEC" str6=str5[:4] # 截取下标之前 print(str6)#ABCD
6.判断 in
str="HELLOW name" print("name" in str ) #True print("str5" not in str) #True
7.将字符串str 当成有效的表达式来求返回计算结果 eval #eval(str) 功能 将字符串str 当成有效的表达式来求返回计算结果 num1=eval("123") print(num1) #123 print( type(num1)) #<class 'int'> print( eval("12+6")) #18 print( eval("12-6")) #6 print( eval("-126")) #-126
8.len(srt) 返回字符串长度 就是字符个数
print( len("AAA"))
9.lower() 将字符串里面的大写字母转换成小写
str6="abcFEG" print(str6.lower()) #abcfeg
10.upper() 将字符串里面的小写字母转换成大写
str9="abclktttttttttttggggggFEG" print(str9.upper()) #ABCLKTTTTTTTTTTTGGGGGGFEG print("AAAAAAAAAA".upper()) #AAAAAAAAAA
11.swapcase() 将字符串里面大写字母转小写 小写转大写 str7="AI LOVER you header" print(str7.swapcase()) #ai lover YOU HEADER
12.capitalize() 首字母大写 其他小写
str0="i have you to" print(str0.capitalize()) #I have you to
13.title() 每个单词的首字母大写
str2="have to nice" print(str2.title()) #Have To Nice
14.string.center返回一个原字符串居中,并使用空格填充至长度
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
#center(width,fillchar)
str77="wo ai nice lover" print(str77.center(40,"*")) #************wo ai nice lover************
15.string.ljust(width)
# 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串 stra="wo ai nice lover" print(stra.ljust(40,"%")) #wo ai nice lover%%%%%%%%%%%%%%%
16.string.zfill(width)
# 返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0 strb="wo ai nice lover" print(strb.zfill(40)) #000000000000000000000000wo ai nice lover
17.返回字符串中str出现的次数 可以指定一个范围 默认从头到尾 # count(str[,start][,end]) str11="wo ai nice lover and lover to hao lover" print(str11.count("lover")) #3 print(str11.count("lover",7,len(str11))) #3
18.string.find(str, beg=0, end=len(string))
#从左到右的 第一次出现的下标数 没有就返回-1 # 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围, # 则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 str10="wo ai nice lover and lover to hao lover" print(str10.find("lover")) #11 print(str10.find("ov")) #12 print(str10.find("lover",15,len(str10))) #21
19.string.index(str, beg=0, end=len(string))
# 跟find()方法一样,只不过如果str不在 string中会报一个异常. str18="aaaAAcBBBB" print(str18.index("A"))#3
20.string.lstrip()
# 截掉 string 左边的空格 # 默认是空格 str19=" wo ai nice lover and lover to hao lover" print(str19.lstrip()) #wo ai nice lover and lover to hao lover
21.string.rstrip()
# 截掉 string 右边的空格 # 默认是空格 str22=" wo ai nice lover and lover to hao lover " print(str22.strip()) #wo ai nice lover and lover to hao lover
22.string.strip([obj]) 去掉左右空格
# 在 string 上执行 lstrip()和 rstrip() str28=" pppp ai nice lover and lover to hao lover " print(str28.strip()) #pppp ai nice lover and lover to hao lover
23. replace()
# old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max str3="this is string example....wow!!! this is really string"; print (str3.replace("is", "was")); #thwas was string example....wow!!! thwas was really string print (str3.replace("is", "was", 3));#thwas was string example....wow!!! thwas is really string
24.isnumeric() 方法检测字符串是否只由数字组成。这种方法是只针对unicode对象。
# 注:定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可,具体可以查看本章节例子。 # 如果字符串中只包含数字字符,则返回 True,否则返回 False str55 = u"this2009"; print(str55.isnumeric()); #False str11= u"23443434"; print (str11.isnumeric()); #True
25.join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串
str = "-" seq =("a", "b", "c") print(str.join( seq )) #a-b-c
26.以什么分截取字符串 变成list列表
# split(str) str55="AS-LOLSOLLS-ollll-kkk-LLLLL" print(str55.split("-")) #['AS', 'LOLSOLLS', 'ollll', 'kkk', 'LLLLL'] str56="AS-LOLSOLLS-ollll-kkk-LLLLL-HHHHHHHHHH-000000000" print(str56.split("-",3)) # ['AS', 'LOLSOLLS', 'ollll', 'kkk-LLLLL-HHHHHHHHHH-000000000']
案例 .看这个字符串里面有多少个单词 str57="AS-LOLSOLLS-ollll-kkk-LLLLL-HHHHHHHHHH-000000000" aa=str57.split("-") c=0 for x in aa: if len(x)>0: c+=1 print (c) # 7
27.在给定的范围内判断是否以给定的字符串开头 如果没有指定范围默认的整个字符串 str50="I have is dream" print(str50.startswith("I")) # //True #在给定的范围内判断是否以给定的字符串结尾 如果没有指定范围默认的整个字符串 str51="I have is dream" print(str51.endswith("dream")) #True
28.isalpha()是判断字符串中至少有一个字符且所有的字符都是字母返回true 否则返回fales str56="Ihaveisdream" print(str56.isalpha()) # True 29. isipper() 英文
# 如果字符串中至少有一个字符且所有的字符都是大写的英文字母返回 true 与false print("SBC".isupper()) #True print("SBb".isupper()) #False print("SB123".isupper()) #True print("Sa123".isupper()) #False 30.istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
str = "This Is String Example...Wow!!!" print (str.istitle()) #True
31. isspace() 方法检测字符串是否只由空白字符组成。
# 如果字符串中只包含空格,则返回 True,否则返回 False. str = " " print (str.isspace()) #True
32.spitlines
str="""9月6日,WePhone的创 2由于自己没有1000万又走投无路 3与前妻的对话截图。9月9日, 9某某通过以下两点要挟自己: 0111111111111111111111111111 555555555555555555555555""" aa=str.splitlines() print(aa) # ['9月6日,WePhone的创', '2由于自己没有1000万又走投无路', '3与前妻的对话截图。9月9日,', '9某某通过以下两点要挟自己:', '0111111111111111111111111111', '555555555555555555555555']
案例
# 计算字符串的下标的和 # str=input("请输入字符串:") index=0 sum=0 while index<len(str): if str[index]>="0" and str[index]<="9": sum+=int(str[index]) index+=1 print(sum) # 字符串比较大小是比的ASCII
# isdigit()函数判断字符串是否为数字?
# isalpha()
# 方法检测字符串是否只由字母组成。
# s为字符串
# s.isalnum() 所有字符都是数字或者字母
# s.isalpha() 所有字符都是字母
# s.isdigit() 所有字符都是数字
# s.islower() 所有字符都是小写
# s.isupper() 所有字符都是大写
# s.istitle() 所有单词都是首字母大写,像标题
# s.isspace() 所有字符都是空白字符、\t、\n、\r
# num = "1" #unicode
# num.isdigit() # True
# num.isdecimal() # True
# num.isnumeric() # True