程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

[Python]字符串處理與常用函數

編輯:Python

文章目錄

    • 字符串
      • 判空
      • 切片
      • 運算符
    • 內建函數
      • 判斷內容
      • 查找替換
      • 大小寫
      • 文本對齊
      • 首尾截取
      • 拆分連接
        • 映射表maketrans
        • 分割partition

字符串是Python中最常用的數據類型。我們可以使用引號( '")來創建字符串。
字符串格式化相關內容參見《 Python3輸入輸出與字符串格式化》

字符串

Python不支持單字符類型,單字符也是作為一個字符串使用。

三引號可以可創建復雜字符串:

  • 允許字符串跨多行,字符串中可以包含換行符、制表符以及其他特殊字符;
  • 常用三引號做多行注釋與函數注釋;
  • 三引號為三個單引號或者雙引號,裡面的內容原樣輸出。

判空

判斷字符串是否為空(s為None或空串``):if not s:
或通過len(s)獲取字符串長度,判斷是否為0(此時要保證s不為None,s)。

:python中會把None、False、0、空串"", 空列表[], 空字典{}, 空元組()作為假

切片

訪問子字符串,可使用方括號[]來截取切片,字符串的截取的語法格式如下(a設為"Runoob"):

  • a[1:] <=> a[-5:] = ‘unoob’
  • a[:1] <=> a[:-5] = ‘R’

運算符

以下表格中為常用的運算符(a設為"Hello",b設為"Python")

操作符描述實例+字符串連接a + b輸出: HelloPython*重復輸出字符串a*2輸出:HelloHello[]索引獲取字符a[1]輸出:e[start:stop]截取字符串中的一部分([start,stop))a[1:4]結果: ellin成員運算符 - 如果字符串中包含給定的字符返回 True‘H’ in a 輸出結果 Truenot in成員運算符 - 如果字符串中不包含給定的字符返回 True‘M’ not in a 輸出結果 Truer/R原始字符串 - 所有的字符串都是直接按照字面的意思來使用,沒有轉義特殊或不能打印的字符。print( r’\n’ )
print( R’\n’ )

內建函數

字符串可編碼為字節數組:s.encode(encoding='UTF-8', errors='strict');在需要時使用bytes.decode()來解碼為字符串。

通過s.expandtabs(tabsize=8),可把字符串中的tab轉換為空格。

判斷內容

判斷字符串中字符內容分類:

方法描述isalnum()所有字符都是字母或數字,則返回 Trueisalpha()所有字符都是字母,則返回 Trueisdecimal()所有字符都是十進制數,則返回 Trueisdigit()所有字符都是數字,則返回 Trueisidentifier()如果字符串是標識符,則返回 Trueislower()所有字符都是小寫,則返回 Trueisnumeric()所有字符都是數,則返回 Trueisprintable()所有字符都是可打印的,則返回 Trueisspace()所有字符都是空白字符,則返回 Trueistitle()如果字符串遵循標題規則,則返回 Trueisupper()所有字符都是大寫,則返回 True

查找替換

a in b判斷b是否包含a(in實際使用的是對象內的__contains__方法)

查找是否包含指定的文本內容:

方法描述count(s, beg=0,end=len(str))返回s在字符串中出現的次數startswith(s)如果以s開頭,則返回 trueendswith(s, beg=0,end=len(str))如果字符串以s結尾,則返回 truefind(s, beg=0,end=len(str))返回字符串中s開始的索引值,若未找到返回-1index(s, beg=0,end=len(str))與find類似,但為找到拋出異常replace(old, new[,max])將字符串中的 old 替換成 new,如果 max 指定,則替換不超過 max 次rfind()與find類似,但返回最後一個匹配rindex()與index類似,但返回最後一個匹配max(s)返回s中最大的字符min(s)返回s中最小的字符

大小寫

大小寫轉換

方法描述capitalize()把字符串的第一個字符轉換為大寫title()把每個單詞的首字符轉換為大寫lower()把字符串轉換為小寫upper()把字符串轉換為大寫swapcase()切換大小寫casefold()把字符串轉換為小寫與lower相比可轉換除ASCII外的其他語言(如德語等)

文本對齊

對齊字符串文本:

方法描述center(width[,fillchar])返回居中的字符串(兩邊用fillchar填充,默認空格)ljust(width[,fillchar])返回字符串的左對齊版本rjust(width[,fillchar])返回字符串的右對齊版本zfill(width)返回長度為width字符串(頭部填充0)

首尾截取

移除空白或指定字符

方法描述lstrip()截掉字符串左邊的空格或指定字符rstrip()刪除尾部空格(或指定字符)strip()頭尾同時刪除

拆分連接

常用內建函數如下:

方法描述s.join(seq)以s為分隔符,把seq串聯成一個字符串rsplit()從尾部開始分割(未指定max是與split相同)split(str=“”,num=string.count(str))以str為分隔符拆分字符串,若指定num則最多返回num+1個子串splitlines([keepends])按行拆分字符串並返回列表(若keepends為False,則子串不包括換行符;否則包括)

映射表maketrans

Python3.4+,使用內建函數 bytearray.maketrans()、bytes.maketrans()、str.maketrans()來創建映射表。

str.maketrans(x[, y[, z]) 返回一個可供 str.translate() 使用的轉換對照表

  • x:必需,字符串中要替代的字符組成的字符串
  • y:可選,相應的映射字符的字符串
  • z:可選,要刪除的字符

分割partition

s.partition(sub)方法用來根據指定的分隔符將字符串進行分割:搜索字符串sub,並返回包含三個元素的元組:

  • 第一個匹配sub之前的所有內容
  • 搜索字符串sub
  • 第一個匹配sub之後的所有內容

rpartition() 方法類似於 partition() 方法,只是該方法是從目標字符串的尾部開始搜索分割符:

  • 最後一個匹配sub之前的所有內容
  • 搜索字符串sub
  • 最後一個匹配sub之後的所有內容

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved