Python-字符串操作

 

#求字符串长度
str="Liang longji learning string"
print(len(str))#字符串长度获取(包含空格) 输出显示28
print("%s length %d"%(str,len(str)))#输出字符串和长度 输出显示Liang longji learning string length 28
#连接字符串
str1="Liang longji"
str2="啊哈哈哈"
str1+=str2#末尾扩增字符串使用+符号
print(str1)#输出显示Liang longji啊哈哈哈
#复制字符串
str1="Liang longji"
str2=str1#变量str1赋值给str2
str1="啊哈哈哈"
print(str2)#输出显示Liang longji
print(str1)#输出显示啊哈哈哈
#比较字符串
str1="Liang longji"
str2="Liang long"
print(str1==str2)#输出显示False
#截取字符串
#特别注意:下标从0开始;str[0:3]不包含下标为3的字符
str='0123456789'
print(str[0:3])#截取第一位到第三位的字符 输出显示012
print(str[6:]) #截取第七个字符到结尾 输出显示6789
print(str[:-3]) #截取从头开始到倒数第三个字符之前 输出显示0123456
print(str[::-1]) #创造一个与原字符串顺序相反的字符串 输出显示9876543210
print(str[-3:-1]) #截取倒数第三位与倒数第一位之前的字符 输出显示78 9表示-1、8表示-2、7表示-3
print(str[-3:]) #截取倒数第三位到结尾 输出显示789
#字符串中的搜索和替换
str="Liang longji learning string"
#find(substr, [start, [end]])
print(str.find("i"))#返回str中出现substr的第一个字母的标号,如果str中没有substr则返回-1 输出显示1
print(str.find("z"))#如果str中没有substr则返回-1 输出显示-1
print(str.find("i",0,5))#start和end作用就相当于在str[start:end]中搜索 0 5 代表字符串中标识位置,0 5字符串标识位置中有i 输出显示1
print(str.find("i",2,5))#start和end作用就相当于在str[start:end]中搜索 2 5 代表字符串中标识位置,2 5符串标识位置中没有i 输出显示-1
#index(substr, [start, [end]]
print(str.index("i"))#与find()相同,只是在str中没有substr时,会返回一个运行时错误 输出显示1
#print(str.index("z"))#会返回一个运行时错误
print(str.index("i",0,5))#输出显示1
#print(str.index("i",2,5))#会返回一个运行时错误
#rfind(substr, [start, [end]])
print(str.rfind("i"))#从左往右查找最后一个匹配的下标值 输出显示25
print(str.rfind("z"))#从左往右查找最后一个匹配的下标值,如果str中没有substr则返回-1 输出显示-1
print(str.rfind("i",0,12))#start和end作用就相当于在str[start:end]中搜索,从左往右查找最后一个匹配的下标值 输出显示11
#rindex(substr, [start, [end]])
print(str.rindex("i"))#与rfind()相同,只是在str中没有substr时,会返回一个运行时错误 输出显示25
#print(str.rindex("z"))#会返回一个运行时错误
print(str.rindex("i",0,12))#start和end作用就相当于在str[start:end]中搜索,从左往右查找最后一个匹配的下标值 输出显示11
#count(substr, [start, [end]])
print(str.count("i"))#计算substr在str中出现的次数 i在字符串中出现4次 输出显示4
print(str.count("z"))#计算substr在str中出现的次数 z没有在字符串中 输出显示0
print(str.count("i",0,12))#start和end作用就相当于在str[start:end]中搜索,0 12下标中i出现次数为2 输出显示2
#replace(oldstr, newstr, [count])
#print(str.replace("learning","学习"))#把str中的oldstr替换为newstr,count为替换次数 输出显示Liang longji 学习 string
print(str.replace("i","I",2))#把str中的oldstr替换为newstr,count为替换次数 i在字符串中有好几个,从左往右 把i替换2次 输出显示LIang longjI learning string
#strip()#默认删除空白符(包括'\n:换行', '\r:回车',  '\t:制表符',  ' ':空白符)
str4=" 123"
print(str4.strip())#输出显示123
str5="a 123"
print(str5.strip())#输出显示a 123
#strip([chars])#去除首尾字符
str3="LiaLngL"
print(str3.strip("L"))#输出显示iaLng
str6="123abc"
print(str6.strip("12"))#输出显示3abc
print(str6.strip("21"))#输出显示3abc
theString ='saaaay yes no yaaaass'#去除两端所有相应的字符,直到没有匹配的字符
print(theString.strip('say'))#输出显示 yes no
print(theString.strip('say '))#输出显示es no
#lstrip([chars])#去除首字符
str3="LiaLngL"
print(str3.lstrip("L"))#输出显示iaLngL
theString ='saaaay yes no yaaaass'#去除左端所有相应的字符,直到没有匹配的字符
print(theString.lstrip('say'))#输出显示 yes no yaaaass
print(theString.lstrip('say '))#输出显示es no yaaaass

#rstrip([chars])#去除尾字符
str3="LiaLngL"
print(str3.rstrip("L"))#输出显示LiaLng
theString ='saaaay yes no yaaaass'#去除右端所有相应的字符,直到没有匹配的字符
print(theString.rstrip('say'))#输出显示saaaay yes no
print(theString.rstrip('say '))#输出显示saaaay yes no

#字符串的分割和组合
#split([sep,[maxsplit])#以sep为分隔符,分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符
str="Liang longji learning string"
print(str.split())# 输出显示['Liang', 'longji', 'learning', 'string']
a="\tHello\tLiang"
print(a)#显示 Hello Liang
print(a.split())#输出显示['Hello', 'Liang']
str1="(www.baidu.com)"
print(str1.split("."))#输出显示['(www', 'baidu', 'com)']
print(str1.split(".",1))#按‘.’分割1次 输出显示['(www', 'baidu.com)']
url =('www.google.com')
str1,str2 = url.split('.', 1)
print(str1)#输出显示www
print(str2)#输出显示google.com
print(url.split("."))#输出显示['www', 'google', 'com']

语法:'sep'.join(seq)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
join(seq) #把seq代表的序列──字符串序列,用S连接起来
'''
str="Liang longji learning string"
print("S".join(str))#输出显示LSiSaSnSgS SlSoSnSgSjSiS SlSeSaSrSnSiSnSgS SsStSrSiSnSg
#字符串中字符大小写的变换
str="Liang Longji Learning string"
str1="liang"
str2="liang long"
print(str.lower())#小写 输出显示liang longji learning string
print(str.upper())#大写 输出显示LIANG LONGJI LEARNING STRING
print(str.swapcase())#大小写互换 输出显示lIANG lONGJI lEARNING STRING
print(str1.capitalize())#首字母大写 输出显示Liang
print(str2.title())#输出显示Liang Long
#字符串在输出时的对齐
str="haha"
#ljust(width,[fillchar])#输出width个字符,str左对齐,不足部分用fillchar填充,默认的为空格
print(str.ljust(10,"#"))#输出显示haha######
#rjust(width,[fillchar])#右对齐
print(str.rjust(10,"*"))#输出显示******haha
#center(width, [fillchar])#中间对齐
print(str.center(10,"-"))#输出显示---haha---


 

posted @ 2018-02-23 17:04  梁博客  阅读(89)  评论(0)    收藏  举报