字符串的常用操作

时间:2020-05-25
本文章向大家介绍字符串的常用操作,主要包括字符串的常用操作使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
#数据类型--bool
# 0 为假 1 为真
# print(True + 2)
# print(False + 2)

#数据类型-字符串
#感念:由单个字符组成的一个集合

#######非原始字符串
# 单引号''
# str1 = 'aaa'
# print(str1,type(str1))
#双引号""
# str1 = "aaa"
# print(str1,type(str1))
#三个单引号 ''' '''
# str1 = '''aaa'''
# print(str1,type(str1))
#三个双引号""" """
# str1 = """aaa"""
# # print(str1,type(str1))
# # \ 转义符,但是在行尾是续航符,\n换行 \t tab
# str1 = """a\na\ta"""
# print(str1,type(str1))
# print(str1)
#
# str1 = "a\"a\"a"
# print(str1,type(str1))
# print(str1)
# name = "s"\
# "x"
# print(name)
#
# #原始字符串,在字符串前加r
# name = r"我是水水水\n \t"
# print(name)

#############各个形式的特点
#单引号和双引号混合使用,可以避免使用\转义符
# name = '我是"谁是谁"'
# print(name)

#三引号可以跨行书写,也可以用于注释
#
# str1 = '''woshi
# shuishushiu
# 123'''
# print(str1)
#
# str1 = """woshi
# shuishushiu
# 123"""
# print(str1)

########################字符串的一般操作

####字符串的拼接
#1.通过+号连接
# result = "wangzha" + "shuzi"
# print(result)
#2.两个字符串中间又空格,必须在一行
# result = "wangzha" "shuzi"
# print(result)
#3.填坑的方法
# result = "woshi%s,%d" %("aaa",123)
# # print(result)
# # #4.使用乘法
# # result = "sz " * 10
# # print(result)

###字符产切片
#获取某一个字符,通过下标(索引)获取
# result = "qwertyu"
# print(result[6])

##获取字符串的片段[起始:结束,步长],步长也可以不加,步长的默认值是1
# result = "abcdefg"
# print(result[0:5])
# print(result[0:6:2])
# print(len(result)) #len字符串的长度
# print(result[0:len(result)])

#反转字符串
# result = 'abcdefg'
# print(result[::-1])


#--------------------字符串操作-------------------------------
#len内建函数 由于计算字符串的个数,语法len(name)
# name = "shisiz"
# print(len(name))
#find 对象方法,作用:查找索引的位置
#语法: find(sub,start=0,end=len(str))
#参数:
# 1-sub,需要检索的字符串
#2-start检索起始位置可省略,默认是0
# 3 -
# name = "woshisizsyy"
# print(name.find("s")) #默认从0开始查找
# print(name.find("s",4)) #从第四位开始查找
# print(name.find("s",4,9))
#
# #rfind find一样,区别是从右开始查找
# print(name.rfind("s")) #从右开始查找



#index find一样区别是find查找不到返回-1 index查找不到报错

# name = "woshisizsyy"
# print(name.index("s"))

#count 计算默认字符串出现的次数
# name = "woshisizsyy"
# print(name.count("s"))
#--------------------字符串转换操作-----------------
#replace 使用给定新的字符串替换旧的字符串

# name = "wo shi sizs yy"
# # print(name.replace("s","h")) #替换所有的s
# # print(name.replace("s","h",2)) #只替换2s,从左边开始计算
#
# #capitalize 将字符串的首字母变成大小
# print(name.capitalize())
# #rirle 把字符串当中每个单词首字母大小
# print(name.title())

#lower 将字符串中的字符变成小写
# name = "Wo Shi Sizs Yy"
# print(name.lower())
# #upper 将字符串中的字符变成大写
# print(name.upper())

#--------------------字符串的分割拼接操作----------------

#split
#将一个大的字符串分割成几个子字符串
#语法
#split(sep,maxsplit)
#参数
#参数1 sep
#分割符
#参数2 maxsplit
#最大的分割次数,可以省略,有多少分割多少
#返回值
#分割后的子字符串,组陈的列表 list类型
#注意:并不会修改原字符串本身
# info = "sz-18-180-0558-123457"
# print(info.split("-"))
# result = info.split("-",3)
# print(result)
# print(info)

#partition 根据指定的分割符,返回(分割符左侧的内容,分割符,分割符右侧的容)
#语法:
#partiton(sep)
#参数 sep 分割符
#返回值
#如果查到分隔符,(分割符左侧的内容,分割符,分割符右侧的容) tulpe类型
#如果没有查到分割符(源字符串,"","" tulpe类型
#注意:并不会修改原字符串本身,从左侧开始查找分隔符

# info = "sz-18-180-0558-123457"
# result = info.partition("-")
# print(result)
# result = info.partition("|")
# print(result)


#rpartition 根据指定的分割符,返回(分割符做出内容,分割符,分割符右侧内容)
#r 表示从右开始查找分割符
#语法: rpartiton(sep)
#参数: sep 分割符
#返回值
#如果查到分隔符,(分割符左侧的内容,分割符,分割符右侧的容) tulpe类型
#如果没有查到分割符(源字符串,"","" tulpe类型
#注意:并不会修改原字符串本身,从右侧开始查找分隔符

# info = "sz-18-180-0558-123457"
# result = info.rpartition("-")
# print(result)
# result = info.partition("|")
# print(result)

#splitlines 按照换行符(\r \n)将字符串拆成多个元素,保存到列表中
#语法: splitlines(keepends)
#参数: keepends 是否替换换行符 bool类型
#返回值 被换行符分割的多个字符串,作为元素组成列表 list类型
#注意:不会修改源字符串

# info = "wo \n shi \r sz"
# result = info.splitlines()
# print(result)
# result = info.splitlines(True)
# print(result)

#join 根据指定字符串,将给定的可迭代对象,进行拼接,得到拼接后的字符串
#语法: join(iterable)
#参数: iterable 可迭代的对象,字符串、元组、列表.....
#返回值: 拼接好的字符串

# items = ["sz","18","shanghai"]
# result = "_".join(items)
# print(result)
# result = "ddddd".join(items)
# print(result)

#--------------------字符串的判定操作----------------

#isalpha 字符串中是否所有的字符串都是字母。不包含该数字,特殊符号,标点符号等等,至少有一个字母
#语法: isalpha() 无参数
#返回值:是否全是字母 bool类型
# name = "sz"
# print(name.isalpha())
# name = "sz2 "
# print(name.isalpha())

#isdigit 字符串中是否所有的字符都是数子,不包含该字母,特殊符号,标点符号等等,至少有一个字符
#语法:isdigit() 无参数
#返回值: 是否全是数字 bool类型
#
# name = "123455"
# print(name.isdigit())
# name = "12314a"
# print(name.isdigit())

#isalnum 字符串中是否所有的字符都是数字或者字母,不包含该特殊符号,标点符号等等,至少有一个字符
#语法: isalnum()无参数
#返回值: 是否全时数字或者字母 bool类型

#
# name = "123455"
# print(name.isalnum())
# name = "12314adfadf"
# print(name.isalnum())
# name = "12314addd#$%"
# print(name.isalnum())

#isspace 字符串中是否所有的字符都是空白符,包括空格、缩进、换行等不可见的转义符,至少一个字符
#isspace()无参数
# 返回值: 是否全时空白符 bool类型
#
# name = "\r \n"
# print(name.isspace())

#startswith 判定一个字符串是否以某个前缀开头
#语法: startswith(prefix,start=0,end=len(str))
#参数:
#prefix 需要判定的前缀字符串
#start判定其实位置
#end 判定结束位置
#返回值: 是否已指定的前缀开头 bool类型


# name = "2018-09-02:xxxx报告.xls"
# print(name.startswith("2018"))
# print(name.startswith("18",2)) #判定从第2个开始
# print(name.startswith("18",2, 4)) #判定从第2个开始,4结束开始匹配



#endswith判定一个字符串是否以某个后缀结尾
#语法: endswith(suffix,start=0,end=len(str))
#参数:
#suffix 需要判定的后缀字符串
#start判定其实位置
#end 判定结束位置
#返回值: 是否已指定的后缀结尾 bool类型

# name = "2018-09-02:xxxx报告.xls"
# print(name.endswith(".xls"))
# print(name.endswith("18",2)) #判定从第2个开始
# print(name.endswith("18",2, 4)) #判定从第2个开始,4结束开始匹配
#
# #补存
#in
#判定一个字符串,是否被另一个字符串包含
#not in
#判定一个字符串,是否不被另一个字符串包含
print("sz" in " wo shi szz")
print("sz" not in " wo shi szz")

原文地址:https://www.cnblogs.com/houchaoying/p/12957509.html