字符串各种操作,关于字符串的内置函数

#字符串是以单引号或者双引号引起来的任意文本
#字符串不可变
#创建字符串
str1="vuvdsj dcbiusbcds dsbcd"
str2="miowich cwguiuwi cbeuiu"
#字符串运算
#字符串连接
str3="vuvdsj dcbiusbcds dsbcd"
str4="miowich cwguiuwi cbeuiu"
str5=str3+str4
print("str5=",str5)

#输出重复字符串
str6="good"
str7=str6*3
print("str7=",str7)

#访问字符串中的某一个字符串
#通过索引下标查找字符,索引从0开始
str8="miowich cwguiuwi cbeuiu"
print(str8[2])
#截取字符串中的一部分
str9="miowich cwguiuwi cbeuiu"
str10=str9[4:10]#后边的不包含
print("str10=",str10)

str11="miowich cwguiuwi cbeuiu"
print("cwguiuwi"in str11)

#格式化输出
print("good man")
num = 10
print("num =",num)
print("num = %d"% (num))
#特有的格式化方案print("an{},bn{},cn{}".format(x,y,z))


#转义字符 换行。将一些字符转换成有特殊含义的字符

print('''
qewq
we
wrwe
werwe
erw
''')

# 制表符
print("suck good")
#如果字符串中由很多字符串需要转义,就需要加入好多,为了简化python允许使用r表示内部的字符串默认不转换
print(r"\ \")

#eval(str)功能:将字符串str当成有效的表达式求值并返回计算结果
num1 = eval("123")
print("num1=",num1)
print(type(num1))
print(eval("+123"))
print(eval("-123"))
print(eval("12-3"))

#len(str)功能:返回字符串的长度
print(len("houjiangao123"))

#lower():转换字符串中的大写字母为小写字母

str12 = "HOUJIANGTAO"
print(str12.lower())
print("str12 = %s"%(str12))
print(str12)

#upper():转换字符串中的小写字母为大写字母
str13 = "houJIANGtao"
print(str13.upper())

#swapcaes():转换字符串中的小写字母为大写字母,大写字母为小写字母

print(str13.swapcase())

#capitalize()首字母大写
print(str13.capitalize())
#title():每个单词的首字母大写
str14 = "hou jiang tao"
print(str14.title())

#center(width,fillchar)返回一个指定宽度的剧中的字符串,fillchar为填充的字符串,默认为空格填充
str15 = "hou jiang tao"
print(str15.center(40,"*"))


#ljust(width[,fillchar])返回一个指定宽度的左对齐字符串,fillchar为填充的字符串,默认为空格填充
str16 = "hou jiang tao"
print(str16.ljust(40),"*")
print(str16.ljust(40,"$"),"*")

#rjust(width[,fillchar])返回一个指定宽度的右对齐字符串,fillchar为填充的字符串,默认为空格填充
str17 = "hou jiang tao"
print(str17.rjust(40),"*")
print(str17.rjust(40,"$"),"*")

#zfill(width)返回一个长度为width的字符串,字符串右对齐,前边补0
str18 = "hou jiang tao"
print(str18.zfill(40))

#count(str[,start][,end])返回字符串中str出现的次数,[,start][,end]可以制定一个范围。默认从头到尾
str19 = "hou jiang jiang jiang tao"
print(str19.count("jiang",10,len(str19)))

#find(str[,start][,end])检测str字符串是否包含在字符串中,
# 可以规定范围,默认从头到尾,得到的结果是从左至右第一次出现的开始下标,没有返回-1
str20 = "hou jiang jiang jiang tao"
print(str20.find("jiang"))
print(str20.find("chang"))


#rfind(str[,start][,end])检测str字符串是否包含在字符串中,
# 可以规定范围,默认从头到尾,得到的结果是从右至左第一次出现的开始下标,没有返回-1
str21 = "hou jiang jiang jiang tao"
print(str21.rfind("jiang"))
print(str21.rfind("chang"))

#index(str,start=0,end=len(str)): 相当于find,只不过在str不存在的时候会报出异常。
str22 = "hou jiang jiang jiang tao"
print(str22.index("hou"))

#rindex(str,start=0,end=len(str)): 相当于rfind,只不过在str不存在的时候会报出异常
str23 = "hou jiang jiang jiang tao"
print(str23.rindex("tao"))

#lstrip()截掉字符串左侧指定字符,默认为空格
str24 = " hou jiang tao"
print(str24.lstrip())
str25 = "*** hou jiang tao"
print(str25.lstrip("*"))


#rstrip()截掉字符串右侧指定字符,默认为空格
str26 = " hou jiang tao "
print(str26.rstrip())
str27 = "hou jiang tao *****"
print(str27.rstrip("*"))

#strip()截取两侧,默认空格
str28= "********hou jiang tao *****"
print(str28.strip("*"))

#split(str="",num)以str为分隔符截取字符串,制定num,则只截取num个字符串
str29="hou****iang********tao all"
print(str29.split("*",3))

#splitlines([keepends]) 按照(' ',' ',' ')分割,返回
#keepends默认为False,keepends=True 会保留换行符
str30='''hou jiangtao
hou hou hou
jiangjiang jiang
'''
print(str30.splitlines())

str31='''hou jiangtao
hou hou hou
jiangjiang jiang
'''
print(str31.splitlines(True))


#join() 以指定的字符串分隔符,将seq中的所有元素组合成一个字符串
list32=['hou','jiang','tao','hou']
str33=" ".join(list32)
print(str33)


#max() min()




#创建一个映射表
print("******")
t36 = str.maketrans("good","nice")
str37 = "suck is a good good good man"
str38 = str37.translate(t36)
print(str38)

#startswith(str,start=0,end=len(str))判断是否由某个字符开头
str39="ho jiang tao"
print(str39.startswith("ho"))


#endswith(str,start=0,end=len(str))判断是否由某个字符结束
str40="hou jiang tao"
print(str40.endswith("tao"))


#编码
#encode(encoding="utf-8",errors="strice")
str41="hou jiang tao"
data42=str41.encode()
print(data42)

#解码 注意:要与编码时的编码格式一样
str43=data42.decode("utf-8")
print(str43)


#isalpha()
#如果字符串中至少有一个字符且所有的字符都是字母返回True
#否则返回False
str44="hou jiang tao"
print(str44.isalpha())


#isalnum()
#如果字符串中至少有一个字符且所有字符都是字母或数字,返回True,否则false
str45="fd23"
print(str45.isalnum())


#isupper()
#如果字符串中至少有一个英文字符且所有字符都是大写英文字母返回True


#islower()
#如果字符串中至少有一个英文字符且所有字符都是小写写英文字母返回True


#istitle()
#如果字符串是标题化得返回True
#标题化:单词都字母大写
print("Hou jiang".istitle())
print("Hou Jiang".istitle())

#isdigit()
#只包含数字字符,返回True
print("123".isdigit())


#isnumeric()只包含数字字符,返回True
print("1234".isnumeric())


#字符串找那个只包含十进制数字
print("123".isdecimal())
print("123a".isdecimal())

#如果字符串中只包含空格返回True
print(" ".isspace())


#replace(oldstr,newstr,count)
#用newstr替换oldstr。默认全部替换如果指定count数量,那么只替换前count个
str34="hou jiang jiang jiang tao nan"
str35=str34.replace("jiang","hong",count=1)
#只替换一个
print(str34)
print(str35)
原文地址:https://www.cnblogs.com/jiangtao159/p/9768992.html