python学习笔记(三)之字符串的处理

(一):字符串定义

1.1 字符串: 用单引号(’ ‘),双引号(" ")或者三引号(’’’ ‘’’)括起来的数据。
1.2 包裹: 如果字符串中有单撇号而没有双撇号则用双撇号包裹,否则应该用单撇号包裹。
1.3 换行: 多行的长字符串可以用行尾反斜杠 / 续行,续行的行首空白不被忽略。也可以用三重撇号""" “”" 或三个单撇号’’’ ‘’'给特别长的字符串换行。
1.4 输出: python将若干值插入到带有“%”标记的字符串中,实现动态地输出字符串。"%s%s%s" % (str1,str2,str3)
1.5 转义字符: 使用 \ 作为转义字符。
在这里插入图片描述

(二):字符串方法

2.1 字符串连接和重复:

  • +号连接,*号重复
  • " %s%s" % (str1,str2)
  • " {}{}".format(str1,str2)
  • “{0}{1}”.format(str1,str2)
  • str.join(interable),配合列表,连接多个字符串
stra = ["I","Love","China"]
result1 = "".join(stra)		#interable的值必须均为字符串,否则出现typeerror异常
result2 = "-".join(stra)	#连接个字符串的分隔符由字符串""提供
print result

2.2 字符串测试与查找

函数功能
str.startswith(prefix[,start[,end]])判断是否以prefix开头(prefix可以为普通字符串,或元组(只要tuple中的一个元素满足条件,则返回true))
str.endswith(suffix[,start[,end]])判断是否以suffix结尾(可指定搜索边界)
>>>print('abcxyz'.endswith('xyz'))	#True
>>>print('abcxyz'.endswith('xyz',4))	#False
>>>print('abcxyz'.endswith('xyz',0,5))	#False
>>>print('abcxyz'.endswith('xyz',0,6))	#True
>>>print('abcxyz'.endswith(('ab','xyz')))	#True
>>>print('abcxyz'.endswith(('ab','xy')))	#False
>>>print('abcxyz'.endswith(('ab','xy','z')))	#True
函数功能
str.find(sub[,start[,end]])判断是否包含sub(若包含返回sub的索引值,否则返回 -1
str.rfind(sub[,start[,end]])(若存在返回最右边的索引值,若字符串只有1或0个sub,则与find()等价)
str.index(sub[,start[,end]])(若不存在sub,则抛出vauleerror异常
str.rindex(sub[,start[,end]])(返回最右边索引值)

2.3 字符串类型判断:

函数功能
str.isdigit()是否仅包含数字(可包含其它一些格式的数字)
str.isdecimal()是否仅包含十进制数字
str.isnumeric()是否仅包含数值(数值包含数字)
-------------
str.isalnum()是否全为字母或数字
str.isalpha是否全为字母
str.islower()是否全为小写
str.isupper()是否全为大写
str.istitle()是否为标题,即各单词首字母大写
-------------
str.isspace()不为空且仅包含空白字符(空格,制表符,换行符等)
str.isidentifier()是否满足标识符定义规则
str.isprintable()是否为可打印字符(空格符可打印,但换行符,制表符不可打印)

2.4 字符串处理函数

  • 大小写转换
函数功能
str.upper()全部大写
str.lower()全部小写
str.swapcase()大小写互换
str.capitalize()首字母大写,其他小写
str.title()各单词首字母大写
str.casefold()转换为大小写无关字符串比较的格式字符串
  • 填充对齐
  1. str.center(width,[,fillchar])——字符串居中,两边用fillchar(默认为空格)填充,是整个字符串长度为width。(若width<字符串长度,则直接返回字符串本身,不会创建新字符串对象)。
  2. str.ljust(width,[,fillchar])——左对齐,右边填充fillchar,固定长度
  3. str.rjust(width,[,fillchar])——右对齐,左边填充fillchar,固定长度
  4. str.zfill(width)——左补0,使字符串长度为width。(若字符串前带有±号,则0填充在±号后,且符号也算入长度)
  5. str.expandtabs([tabsize])——将制表符扩展为若干个(tabsize默认为8)空格。注:在替换"\t"为空格时,会减掉"\t"前面的字符数量,但它不会替换换行符\n,\r
  • 删除操作
函数功能
str.strip([chars])删除两边的字符chars
str.lstrip([chars])删除左边的字符chars
str.rstrip([chars])删除右边的字符chars

chars可以为单个或多个字符,当chars为空或None,则默认删除空白(空格,制表符,换行符)

  • 替换操作
函数功能
str.replace(old,new[,count])只替换前count个old字符串
str.translate(table)
str.maketrans(x[,y[,z]])
  • 拆分组合
函数功能
str.split(sep=None,maxsplit=-1)分割字符串,生成列表
str.rsplit(sep=None,maxsplit=-1)从右向左搜索
str.splitlines([keepends=Ture])分割换行符
str.partition(sep)从sep处对S进行分割, 最后返回一个包含3元素的元组, sep左边的部分是元组的第一个元素, sep自身是元组的二个元素,sep右边是元组的第三个元素。
str.rpartition(sep)从右边第一个sep进行分割
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值