Python 字符串学习
admin
2023-07-14 17:24:21
0

字符串处理

  1,字符串分割
      (a)split 方法

        str1 = "http:// www.qwe, qwe; qwe,qwe"
        import re
        re.split(r'[,;\s]\s*',str1)
        
   >>> ['http://', 'www.qwe', 'qwe', 'qwe', 'qwe']

     一般简单的可以使用 str.split("xxx")进行分割。但是re.split( ) 用起来更加的灵活。


  2, 字符串开头和结尾

        (a) str.startswith( )/str.endswith( )

      filename = "http://zaixiankefu.txt"
      filename.endswith(".txt")
      
   >>>True
   
      filename.startswith("http:")
   >>>True
   
      # startswith( )和 endswith( )可以接收一个元组数据,注意是元组。
   
      choice = (".txt",".avi")
      filename.endswith(choice)
   >>>True

        (b) 也可以使用切片来判断

      if filename[:4] == "http" and filename[-4:] == ".txt":
          return True

   

    3,字符串匹配

            简单的就是str.startswith( ),str.endswith( ),str.find(),前两种返回时bool 值,find是返回第一次匹配的下标值。

            使用正则进行匹配(更多方法参考正则文档)。

       (a)re.match( )

               match 总是从字符串开始去匹配 。如匹配则返回一个匹配对象,失败返回None。

       str1 = "2018/12/20"
       import re
       re.match(r'\d*/',str1)
   >>> <_sre.SRE_Match object; span=(0, 5), match='2018/'>

         (b) re.search( )

               search 会匹配整个字符串。如匹配则返回一个匹配对象,失败返回None。

      re.search(r'/\d*/',str1)
   >>>  <_sre.SRE_Match object; span=(4, 8), match='/12/'>

        (c) re.findall( )

               findall( )会匹配整个字符串,匹配则返回一个list列表,要么有值要么空

                如果返回的值过多,可以使用 finditer( )来替代。

      str1 = "www.baidu.com"
      import re
      re.finditer(r'w',str1) #会返回一个可迭代对象
  >>> 

        忽略大小写进行匹配

        Python 字符串学习


 4,字符串替换

          简单的替换可以使用 str.replace(old,new) 进行操作。

          re.sub( )可以更加灵活处理。

        Python 字符串学习

        反斜杠数字,例如 \3 指向前面模式的捕获组号。


5,字符串中插入变量

      使用 format 和 format_map( ) + vars( )来进行处理。

            vars( )实现的是在变量域中找到所需的变量。

      Python 字符串学习  

        缺点是,变量缺失后,会直接报错。如果变量未找到

    Python 字符串学习

    可以使用类进行包装。

    

     

相关内容

热门资讯

特朗普:正致力于与伊朗达成协议... 特朗普在《纽约邮报》一档播客访谈节目中称,他正与伊朗磋商一项协议,伊朗已同意不再谋求拥有核武器。他表...
不接壤的日菲为何偷划海界? 日菲近日发表联合声明,宣称就“划定两国专属经济区和大陆架的海洋边界”启动正式谈判。两个隔海相望的国家...
凤凰晚报丨从钳工到老戏骨,魏宗... 今日人物【从钳工到老戏骨,魏宗万用一生诠释“戏比天大”】6月1日,表演艺术家魏宗万在上海逝世,享年8...
科威特称伊朗袭击致63人受伤 科威特卫生部门3日称,伊朗当天对科威特的袭击已造成63人受伤,相关部门已启动紧急应对预案,并在全国范...
日本标榜“和平国家”却行扩军备... 今年是东京审判开庭80周年,世界正回望历史、反思战争罪责、捍卫二战后来之不易的国际秩序之际,日本却迈...
浙江杨梅即将大规模上市,如何破... “我们现在的压力很大。”5月底,浙江余姚杨梅产区丈亭镇副镇长林宇站在一片杨梅林前对第一财经表示,当地...
致5死2伤!韩国就韩华航空航天... 【环球网报道 记者 姜蔼玲】据韩联社6月1日报道,针对位于韩国大田的韩华航空航天公司发生爆炸致7人伤...
黄河科技学院2026年招生简章 长按图片识别二维码或点击 “阅读原文” 查看电子招生简章。
医路起航,从“心” 开始!黄河... 6月1日上午,黄河科技学院附属医院2022级临床医学本科实习生入院岗前培训在大医讲堂顺利举办。院领导...
问题居然在实体卡槽上!美版iP... 6月2日消息,日前,又有博主提前把还没发布的iPhone 18 Pro电池参数给曝光了出来,根据爆料...