Python中的字符串

Python中字符串的常用操作方法

  • 字符串是有序的字符集合,使用单引号 【 ‘a’ 】双引号【 ”a" 】、三引号【"""a”””or’’’'a’’】。字符串是不可不变对象,从Python3.0起,字符串就是Unicode类型(UTF-8)

  • 【\n】换行符号
    【\t】相当于TAB按键
    【r”” 或者R””】表示不转译字符串中特殊符号
    例如:str5 = r”hello \n xdd”

字符串的连接

  • ‘string’.join(iterable)->str 将可迭代对象使用指定字符【string】链接成新的字符返回。(注意:可迭代对象本身就是字符串)

  • ‘iterable’+‘iterable’->str 将两个字符串连接在一起,返回一个新的字符串

字符串的分割

  • ‘iterable’.strip(‘string’)->str 如果iterable两端的字符是自定的字符集chars(切割符),则去除该值,如果chars没有指定,去除iterable两端的空白字符,lstrip去除左边的,rstrip去除右边的

  • ‘iterable’.splitlines(keepends)->str类型的list集合,使用行来切割字符,keepends指是否保留行分隔符,默认不保留(默认值:keepends=False)。行分隔符包括【\n】:linux【\r\n】:windows【\r】:mac

  • ‘iterable’.split(‘string’,maxsplit=-1) -> str类型的list集合,使用自定义字符string来切割字符串,返回切割后的字符数组,string为缺省情况时会以空白符号为切割符号。maxsplit 指定切割的次数,-1表示切割整个字符串,lsplit为从左向右切,rsplit为从右向左切

  • ‘iterable’.partition(sep)->(head,sep,tail) 切割字符串,返回一个三元组(从左到右切割),sep为切割符号且必须指定。将指定字符从左至右切割成,头部,分割符,尾部三部分组成一个三元组;如果没有找到分割符,就只返回头部和2个空元素的三元组。rpartition从右到左切割,lpartition从左向右切割

字符串大小写

  • ‘iterable’.upper() ->str #将字符中所有字符转换成大写
    ‘iterable’.lower()->str #将字符中所有字符转换成小写
    ‘iterable’.swapcase()->str #将字符中大写转换成小写,小写转换成大写
    ‘iterable’.capitalize()->str #将字符串中首个单词的首字母转换成大写字母
    ‘iterable’.title()->str #将英文单词中每个字母的首字母都转换成大写字母

字符串判断

  • ‘iterable’.isalnum() ->bool 是否是字母和数字组成
    ‘iterable’.isalpha() ->bool 是否是字母
    ‘iterable’.isdecimal() ->bool 是否只包含十进制数字
    ‘iterable’.isdigit() ->bool 是否全部数字(0-9)
    ‘iterable’.isidentifier ->bool 是否是字母下划线开头,其他都是字母、数字、下划线(标识符)
    ‘iterable’.islower() ->bool 是否都是小写
    ‘iterable’.isupper() ->bool 是否都是大写
    ‘iterable’.isspace() ->bool 是否只包含空白字符
    ‘interable’.endswith(suffix,start,end)->bool 在指定区间[start,end),字符串是否是suffix字符结尾,是返回True 否返回False。如果不指定区间,默认区间是整个字符串
    ‘interable’.startswith(prefix,start,end)->bool 在指定区间[start,end),字符串是否是prefix开头。如果不指定区间,默认区间是整个字符串

字符串查询

  • ‘iterable’.find(‘string’,start,end)->int 在指定区间 [ start,end),从左至右,查找字符串string。找到后返回索引,没找到返回-1,string为要查找的字符串,start为查找起始点索引,end为查找区间的结束索引(不包含结束索引)。rfind从右边开始,lfind从左边开始,O(n)
  • ‘iterable’.index(‘string’,start,end)->int 在指定区间 [ start,end),从左至右,查找字符串string。找到后返回索引,没找到抛出异常ValueError,string为要查找的字符串,start为查找起始点索引,end为查找区间的结束索引(不包含结束索引,如果不设置start和end就在整个字符串中查找),rindex从右开始,lindex从左开始,O(n)
  • ‘iterable’.count(‘string’,start,end)->int 在指定区间 [ start,end),从左到右,统计子串string出现的次数(如果没有指定start和end,默认在整个字符串中统计,string为要统计的字符串,start为统计的起始索引,end为统计的结束索引(不包含结束索引)O(n)
  • len(‘iterable’) ->int 返回字符串的长度 O(n)

字符串修改

  • 'iterable’replace(old,new,count)->str 将字符中匹配到old的字符串替换成new新的字符串,old为需要替换的字符,new为替换字符,count为替换次数,不指定count则默认全部替换。

字符串格式化

  • ”{}{xxx}”.format(*args,**kwargs)->str
    args是位置参数,是一个元组
    kwargs是关键字参数,是一个字典
    {}花括号为占位符,表示按照顺序匹配参数,{n}表示取位置参数args[n]对应的值
    {xxx}其中xxx为关键字名称,表示在关键字参数kwargs中搜索名称一致的参数对应值
    {{}}表示打印花括号(注意:双符号表示转译输出)
    位置参数:
    按照位置顺序用位置参数替换前面的格式字符串的占位符
    例如:【“{}:{}”.format(“192.168.61.100”,8888)】

  • 关键字参数或命名参数
    位置参数按照序号匹配,关键字参数按照名称匹配
    例如:【{server}{1}:{0}.format(8888,”192.168.61.100”,server=”xdd”)】

  • 访问元素:
    例如:【"{0[0]}.{0[1]}".format((‘xdd’,‘com’))】

  • 对象属性访问
    例如:【"({p1.x},{p1.y})".format(p1=p)】

  • 对齐
    例如:【"{0}{1}={2:< 3}".format(3,2,32)】
    其中【{2:< 3}】表示输出数组中下标为2的内容。输出字符长度为3个字符长度,如果不够用空格补齐。<小于号表示向左对齐输出

  • 居中
    例如:【{:^30}.format(‘centered’)】
    表示将centerd单词居中显示,显示长度为30个字符,不够的地方用
    星号替代
    【^】表示居中

  • 进制
    例如:【“int:{0:d}; hex:{0:x}; oct:{0:o}; bin:{0:b}”.format(50)】
    其中【{0:d}】表示按照十进制数字输出
    【{0:x}】表示按照十六进制数字输出
    【{0:o}】表示按照八进制数字输出
    【{0:b}】表示按照二进制数字输出
    【{0:#b}】中#表示输出数字时,带上精制数的对应表示符号
    例如:
    其中:192.168.0.1名称:点分四段十进制表示法的ipv4地址

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值