溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python 字符串學(xué)習(xí)

發(fā)布時(shí)間:2020-07-07 14:27:33 來源:網(wǎng)絡(luò) 閱讀:276 作者:Monkey_Michael 欄目:編程語言

字符串處理

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

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

     一般簡(jiǎn)單的可以使用 str.split("xxx")進(jìn)行分割。但是re.split( ) 用起來更加的靈活。


  2, 字符串開頭和結(jié)尾

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

      filename = "http://zaixiankefu.txt"
      filename.endswith(".txt")
      
   >>>True
   
      filename.startswith("http:")
   >>>True
   
      # startswith( )和 endswith( )可以接收一個(gè)元組數(shù)據(jù),注意是元組。
   
      choice = (".txt",".avi")
      filename.endswith(choice)
   >>>True

        (b) 也可以使用切片來判斷

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

   

    3,字符串匹配

            簡(jiǎn)單的就是str.startswith( ),str.endswith( ),str.find(),前兩種返回時(shí)bool 值,find是返回第一次匹配的下標(biāo)值。

            使用正則進(jìn)行匹配(更多方法參考正則文檔)。

       (a)re.match( )

               match 總是從字符串開始去匹配 。如匹配則返回一個(gè)匹配對(duì)象,失敗返回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 會(huì)匹配整個(gè)字符串。如匹配則返回一個(gè)匹配對(duì)象,失敗返回None。

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

        (c) re.findall( )

               findall( )會(huì)匹配整個(gè)字符串,匹配則返回一個(gè)list列表,要么有值要么空

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

      str1 = "www.baidu.com"
      import re
      re.finditer(r'w',str1) #會(huì)返回一個(gè)可迭代對(duì)象
  >>> <callable_iterator at 0x5be230>

        忽略大小寫進(jìn)行匹配

        Python 字符串學(xué)習(xí)


 4,字符串替換

          簡(jiǎn)單的替換可以使用 str.replace(old,new) 進(jìn)行操作。

          re.sub( )可以更加靈活處理。

        Python 字符串學(xué)習(xí)

        反斜杠數(shù)字,例如 \3 指向前面模式的捕獲組號(hào)。


5,字符串中插入變量

      使用 format 和 format_map( ) + vars( )來進(jìn)行處理。

            vars( )實(shí)現(xiàn)的是在變量域中找到所需的變量。

      Python 字符串學(xué)習(xí)  

        缺點(diǎn)是,變量缺失后,會(huì)直接報(bào)錯(cuò)。如果變量未找到

    Python 字符串學(xué)習(xí)

    可以使用類進(jìn)行包裝。

    

     

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI