day10-字符串进阶

字符串

一、字符串相关方法

  1. 字符串.join(序列)

    ​ 将序列中的元素用指定的字符串拼接在一起,形成一个新的字符串(序列中的元素必须是字符串)。

    注意:如果需要的join序列中的元素不是字符串,就想办法把他的元素变成字符串。

    nums=[23,45,67,89,45]
    '2345678945'
    result = ''.join([str(i) for i in nums])
    print(result)  # '2345678945'
    
  2. 字符串1.split(字符串2)

    ​ 将字符串1中所有的字符串2作为切割点对字符串1进行切割,返回包含切割后每一小段对应的字符串的列表。

    字符串1.split(字符串2,n):将字符串1中前n个字符串2作为切割点对字符串1进行切割。

    str1='mnabcmn123mnmnkplmn##mn'
    result = str1.split('mn',2)
    print(result)   # ['', 'abc', '123mnmnkplmn##mn']
    
  3. 字符串1.replace(字符串2,字符串3)

    ​ 将字符串1中所有的字符串2都替换成字符串3。

    str1='mnabcmn123mnmnkplmn##mn'
    result=str1.replace('mn','*')
    print(result)     # *abc*123**kpl*##*
    

    ​ 字符串1.replace(字符串2,字符串3,n) —— 将字符串1中前n个的字符串2都替换成字符串3。

  4. 字符串.strip() —— 删除字符串左右两端的空白字符

    • 字符串.rstrip()
    • 字符串.lstrip()
    str1 = '/小明'
    result=str1.strip('/')
    print(result)    # 小明
    
  5. find、index

    字符串1.find(字符串2) - 获取字符串1中字符串2第一次出现的位置(以0开始的下标值返回),如果字符串2不存在返回-1。

    字符串1.index(字符串2) — 获取字符串1中字符串2第一次出现的位置(以0开始的下标值返回),如果字符串2不存在报错。

    字符串1.find(字符串2,开始下标,结束下标) - 获取字符串1中指定范围内字符串2第一次出现的位置。

    字符串1.index(字符串2,开始下标,结束下标)

  6. 其他方法

    • 字符串.islower() —— 判断字符是否是小写字母
    • 字符串.isupper() ——判断字符是否是大写字母
    • 字符串.isdigit() ——判断字符是否是数字
    • 字符串.lower() —— 将大写字母转换为小写字母
    • 字符串.upper() —— 将小写字母转换为大写字母
  7. maketrans、translate

    str1='星期1,星期2,星期3,星期4,星期5,星期6,星期7'
    table=str.maketrans('1234567','一二三四五六天')
    result=str1.translate(table)
    print(result)
    

二、字符串格式化

  1. 字符串拼接

    name='小明'
    age=20
    money = 15000
    # xxx今年xx岁!月薪:xxxx元
    message = name+'今年'+str(age)+'岁!月薪:'+str(money)+'元'
    print(message)
    
  2. 字符串格式化

    ​ 格式字符串:包含一个或多个格式占位符的字符串 %(数据1,数据2,数据3,…)。

    说明:()中的占位符必须和前面的字符串中的占位符一一对应,如果只有一个数据,可以省略()。

    常用的字符串占位符:

    ​ %s - 可以给任何类型的数据占位(字符串占位符);

    ​ %d - 只能给数字数据占位(整数占位符);
    ​ %f - 只能给数字数据占位(浮点数占位符,默认保留6位小数);
    ​ %.Nf - 只能给数字数据占位(保留n位小数);

    esult = '%s%s%s-%s'%('abc',12,[10,20],3.456)
    print(result)  # abc12[10, 20]-3.456
    
    result = '%d-%d'%(12,2.34)
    print(result)  # 12-2
    
    result = '%f-%f'%(12,2.34)
    print(result)  # 12.000000-2.340000
    
    result = '%.2f-%.1f'%(12,2.34)
    print(result)  #  12.00-2.3
    
  3. f-string

    1. )基本用法:

      ​ f-string的基本用法:如果在字符串的外面加了f,就可以在字符串中通过{}来给字符串提供内容:{表达式} - 表达式的结果就是对应的字符串内容。

    2. )f-string参数:{提供数据的表达式:参数}

      • 控制小数位数:
        {提供数据的表达式:参数.nf}(.nf代表保留的小数位数)
      money=122012
      result = f'余额:{money:.2f}'
      print(result)    # 余额:122012.00
      
      • 大数据逗号分隔:{提供数据的表达式:,}
      money = 16500
      result = f'金额:{money:,}元'
      print(result)   # 金额:16,500元
      
      • 前面两者合用:{提供数据的表达式:,.nf} - 既控制小数位数,又使用逗号。
      money = 16500
      result = f'金额:{money:,.2f}元'
      print(result)
      
      • 小数显示成百分比:{提供数据的表达式:.n%} - n代表保留几位小数
      scale = 0.84
      result = f'及格率:{scale:.1%}'
      print(result)  # 及格率:84.0%
      
      • 控制填充长度(实现center、rjust、ljust、zfill的功能)

        ​ {提供数据的表达式:字符>长度}、{提供数据的表达式:字符<长度}、{提供数据的表达式:字符^长度}。

        注意:如果没有填充字符,会用空格填充。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值