字符串有 下标(索引) ,从0开始,到n-1结束

  • len() 获取字符串长度

    s = 'Hello'
    len(s)
    
  • 利用索引获取字符串中某一位

    正数索引 从0开始,从左向右数

    负数索引 从-1开始,从右向左数

    s = 'Hello'
    print(s[0])
    print(s[-1])
    ======================
    H
    o
    
  • 切片 字符串[起始位置:[结束位置:[步长]]] 默认从左向右截取

    步长为正,从左向右截取

    步长为负,从右向左截取

    s = 'helloWorld'
    print(s[0:5])  # 截取从第0位到第5位
    print(s[5:])   # 截取从第5位到最后
    print(s[:5])   # 截取从开头到第5位
    print(s[::2])  # 从开头到结尾,隔一位截取一位
    print(s[::-2]) # 从结尾到开头,隔一位截取一位
    ========================
    hello
    World
    hello
    hlool
    drWle
    
  • 运算符

    • + 两字符串连接

      print('123'+'456')
      ========================
      123456
      
    • * 重复一个字符串

      print('88*'*4)
      =======================
      88*88*88*88*
      
    • in 判断元素是否在字符串中,返回布尔型

      s = '123456'
      print('23' in s)
      print('13' in s)
      =======================
      True
      False
      
    • is 比较两个字符串地址是否相等 内存地址相同,内容一定相同

    • == 比较两个字符串内容是否相等 内容相同,内存地址不一定相同

      s1 = '123456'
      s2 = '123456'
      print(id(s1))  # 查看s1内存地址
      print(id(s2))  # 查看s2内存地址
      print(s1 is s2)
      print(s1 == s2)
      =========================
      1711120212296
      1711120212296
      True
      True
      
    • [ ] 下标或切片 参阅上方:切片相关内容

    • % 格式化 参阅下方:利用占位符格式化相关内容

  • 内置字符串方法

    • find() 从指定位置在串中对元素进行查找,找到返回 索引,没找到返回 -1

      字符串.find( 目标 , 起始 , 终止 )

      s = 'helloWorld'
      print(s.find('W'))   # 从0位开始,从左向右找最近的一个W
      print(s.find('X'))   # 从0位开始,从左向右找最近的一个X
      print(s.find('o'))   # 从0位开始,从左向右找最近的一个o
      print(s.find('o',5)) # 从5位开始,从左向右找最近的一个o
      ==============================
      5
      -1
      4
      6
      
    • index() 从指定位置在串中对元素进行查找,找到返回 索引,没找到则 报错

      字符串.index( 目标 , 起始 , 终止 )

      s = 'helloWorld'
      print(s.index('W'))
      print(s.index('X'))
      ==============================
      5
      ValueError: substring not found
      
      • rfind 从右向左在指定位置在串中对元素进行查找,找到返回 索引,没找到返回 -1

      字符串.rfind( 目标 , 起始 , 终止 )

      s = 'ohHelloWorld'
      print(s.rfind('o'))      # 从末位开始,从左向右找最近的一个o
      print(s.rfind('o',0,7))  # 在0-7位中,从左向右找最近的一个o
      ==============================
      8
      6
      
  • rindex 从右向左在指定位置在串中对元素进行查找,找到返回 索引,没找到则 报错

    字符串.rindex( 目标 , 起始 , 终止 )

      s = 'ohHelloWorld'
    print(s.rindex('o'))      # 从末位开始,从左向右找最近的一个oprint(s.rindex('o',1,6))  # 在0-7位中,从左向右找最近的一个o==============================8ValueError: substring not found
    
    • replace 替换字符串中目标文本,默认全部替换

      字符串.replace( 目标文本 , 替换文本 , 替换计数)

      s = '敏感词敏感词敏感词敏感词'
      print(s.replace('敏感词','***'))
      print(s.replace('敏感词','***',2))
      ==========================================
      ************
      ******敏感词敏感词
      
    • split 将字符串按指定分隔符进行切割,并返回一个列表

      字符串.split( 分隔符 ,最大拆分数 )

      s = 'A*B*C*D*E*F'
      sp1 = s.split('*')
      sp2 = s.split('*',3)
      print(sp1)
      print(sp2)
      ==========================================
      ['A', 'B', 'C', 'D', 'E', 'F']
      ['A', 'B', 'C', 'D*E*F']
      
    • 大小写转换

      • upper() 转大写

        s = 'hello python World A'
        print(s.upper())
        ================================
        HELLO PYTHON WORLD A
        
      • lower() 转小写

        s = 'hello python World A'
        print(s.lower())
        ================================
        hello python world a
        
      • title() 每个单词首字母大写

        s = 'hello python World A'
        print(s.title())
        ================================
        Hello Python World A
        
      • capitalize() 仅字符串第一个单词的首字母大写,其余均变小写

        s = 'hello python World A'
        print(s.capitalize())
        ================================
        Hello python world a
        
    • 字符串判断

      • isupper() 是否是大写

        s1 = 'abc'
        s2 = 'ABC'
        print(s1.isupper())
        print(s2.isupper())
        ================================
        False
        True
        
      • islower() 是否是小写

        s1 = 'abc'
        s2 = 'ABC'
        print(s1.islower())
        print(s2.islower())
        ================================
        True
        False
        
      • isalpha() 是否是纯字母

        s1 = 'abc8'
        s2 = 'ABC'
        print(s1.isalpha())
        print(s2.isalpha())
        ================================
        False
        True
        
      • isdigit() 是否是纯数字

        s1 = '8888888'
        s2 = 'A888888'
        print(s1.isdigit())
        print(s2.isdigit())
        ================================
        True
        False
        
      • statrtwith() 是否以指定内容开头

        s1 = 'A87888888'
        s2 = 'A88800888'
        print(s1.startswith('A88'))
        print(s2.startswith('A88'))
        ================================
        False
        True
        
      • endswith() 是否以指定内容结尾

        s1 = '888888XX'
        s2 = '800888XA'
        print(s1.endswith('8XX'))
        print(s2.endswith('8XX'))
        ================================
        True
        False
        
    • 对齐相关

      • center() 居中对齐,需给出宽度

      • rjust() 右对齐,需给出宽度

      • ljust() 左对齐,需给出宽度

        s = '测试样例'
        print(s.center(15))
        print(s.rjust(15))
        print(s.ljust(15))
        ========================测试样例     测试样例
        测试样例
        
    • 利用占位符格式化

      • %s 字符串占位符,需要匹配一个字符串,也可以是整形或浮点型

      • %d 数字占位符,需要匹配一个整形或浮点型,浮点型仅保留整数位,不四舍五入

      • %f 浮点数占位符,需要匹配一个浮点数,保留位数可调,四舍五入

      • { } 任意占位符,可以匹配任意内容,需要与 .format 配合使用

        可以通过指名或编号来修改顺序

        可以通过格式化方式来保留小数位数 Eg. {:.2f} 小数点后保留两位

        s = '****'
        i = 1
        f = 3.536666666666
        print('测试:%s' %s)
        print('测试:%s' %i)
        print('测试:%s' %f)
        print('测试:%i' %i)
        print('测试:%i' %f)
        print('测试:%f' %f)
        print('测试:%.3f' %f)
        print('测试:%.15f' %f)
        print('测试:{},{},{}'.format(s,i,f))
        print('测试:{intx},{flox:.2f},{strx}'.format(strx=s,intx=i,flox=f))
        =============================================
        测试:****
        测试:1
        测试:3.536666666666
        测试:1
        测试:3
        测试:3.536667
        测试:3.537
        测试:3.536666666666000
        测试:****,1,3.536666666666
        测试:1,3.54,****
        
    • 去除空格

      • strip() 去除字符串两端的空格

      • rstrip() 去除字符串右端的空格

      • lstrip() 去除字符串左端的空格

        s = '      123456      '
        print('|'+s.strip()+'|')
        print('|'+s.rstrip()+'|')
        print('|'+s.lstrip()+'|')
        ===================================
        |123456|
        |      123456|
        |123456      |
        

Python学习笔记-字符串相关相关推荐

  1. Python学习笔记-- 字符串和数字的连接

    Python学习笔记– 字符串和数字的连接 >>> s = 'abc' >>> print s + 1Traceback (most recent call las ...

  2. Python学习笔记——字符串、列表、元组、字典

    字符串介绍 想一想: 当打来浏览器登录某些网站的时候,需要输入密码,浏览器把密码传送到服务器后,服务器会对密码进行验证,其验证过程是把之前保存的密码与本次传递过去的密码进行对比,如果相等,那么就认为密 ...

  3. python学习笔记——字符串操作

    字符串相关操作 #!/usr/bin/env python3 # encoding: utf-8 # author: huangwj # mail: huangwjwork@gmail.com # b ...

  4. Python学习笔记-字符串

    目录 一.字符串类型 二.字符串的常用操作 1.字符串拼接 2.计算字符串的长度 3.截取字符串 4.分割.合并字符串 4.1 分格字符串 4.2 多字符分割字符串 4.3 合并字符串 5.检索字符串 ...

  5. Python 学习笔记 字符串的功能与方法

    一.字符串基础功能: 1.什么是字符串: 简单讲用引号包裹的就是字符串,可以是单引号或双引号. 2.字符串的基础操作: 创建字符串: # 创建空字符串 s = '' # 创建非空字符串 s = 'he ...

  6. python学习笔记---字符串

    字符串 常用的操作方法 .count() .find() .join() .encode() .decode() .endswith() .startswitch('A') .isdigit() .s ...

  7. Python学习笔记字符串Str

    python中的str到底是什么类型? https://docs.python.org/3/library/stdtypes.html#textseq 方法都有哪些? http://www.cnpyt ...

  8. python学习 day7_字符串、列表的相关操作

    python学习day7_字符串的相关函数 字符串的相关操作 (1)字符串的拼接 + (2)字符串的重复 * (3)字符串跨行拼接 \ (4)字符串的索引(复习) (5)字符串的切片:(截取) 对字符 ...

  9. Python学习笔记D4(字符串和序列)

    Python学习笔记D4(字符串和序列) 序列 list()作为一个方法存在两个形态,一个有参数一个没参数 list():不带参数,返回一个空的列表 list([iterable]):返回一个迭代器 ...

最新文章

  1. PyTorch中文版官方教程来啦(附下载)
  2. 《算法竞赛入门经典》习题——Chapter 3
  3. 5.2 测试计划和估算
  4. SharePoint PowerShell 修改计时器任务
  5. 请指点一下,讨论也可以,顶也有分
  6. 使用 XML 实现 REST 式的 SOA
  7. 回复群邮件导致邮件服务器,电子邮件逐个发-邮件群发软件-使用手册
  8. python面试题(6)--- read、readline和readlines的区别
  9. 怎么把arraylist集合的值放在实体类的属性了_原创 | 使用JPA实现DDD持久化-O/R映射元数据:类级映射-实体和值对象...
  10. linux安全技术课程报告,综合实例一+linux平台WEB安全技术研究报告.doc
  11. VS Code的相对路径问题 (No such file or directory: './lenna.png')
  12. c#winform panel空间拖动窗体 最小化 关闭 按钮 右下角弹窗
  13. m基于BP神经网络的障碍物避障和路线规划matlab仿真
  14. Luat 功能开发教程(十六) LittleVGL
  15. 科普:蓝绿部署、金丝雀发布(灰度发布)、A/B测试
  16. CRIE: An automated analyzer for Chinese texts翻译
  17. 简述相关与回归分析的关系_相关分析与回归分析的联系与区别
  18. 计算机省二打字,巧用音频转文字,省去打字烦恼
  19. YTU 2451: 股市风云
  20. radosgw bucket index sharding

热门文章

  1. 净水器哪个牌子好,家用净水器什么牌子好科普
  2. flutter iPhone设备型号对照表(更新到14)
  3. 大数据培训技术使用spark对phoenix的读写
  4. 俄罗斯、乌克兰程序员薪资大曝光!年薪普遍 15w+,女程序员比男程序员收入高?
  5. 2017年手机html5的发展,HTML5明年年中发展成熟 或带来行业洗牌
  6. 将Maven项目直接用Tomcat运行
  7. wk算法-SAR成像算法系列(五)
  8. 组件Element的入门学习
  9. 2021最新 阿里云PostgreSQL案例精选2 - 图像识别、人脸识别、相似特征检索、相似人群圈选
  10. 测试老江湖告诉你,测试猿如何优雅的甩锅?