Python – string 資料型態物件

測試環境為 CentOS 8 x86_64 (虛擬機)

參考文章 – https://selflearningsuccess.com/pythonstring/

string 為 Immutable objects 物件被創造出來後其值無法做改變,關於 Immutable objects 請參考 – https://benjr.tw/104498

其他資料型態

  1. Stringhttps://benjr.tw/104605
    使用單,雙 或是 三重引號來表示為字串.
  2. Listhttps://benjr.tw/104232
    使用 中括弧 [ ] 表示 ,其中資料用逗號做區隔.
  3. dichttps://benjr.tw/104234
    使用 大括弧 { } 表示 ,格式為 key:valu ( pair 組成 並由逗點隔開).
  4. Tuplehttps://benjr.tw/104461
    使用 小括號 ( ) 表示 ,其中資料用逗號做區隔.
  5. sethttps://benjr.tw/104696
    大括弧 { } 表示 ,其中資料用逗號做區隔.

可以使用單,雙 或是 三重引號來表示為字串.

[root@localhost ~]# python3
Python 3.6.8 (default, Mar 25 2022, 11:15:52) 
[GCC 8.5.0 20210514 (Red Hat 8.5.0-10)] on linux
Type "help", "copyright", "credits" or "license" for more information.
  1. 單引號
    >>> str1='abc\r\n\'\"123'
    >>> str1
    'abc\r\n\'"123'
    >>> print(str1)
    abc
    '"123
    

    特殊字元無法直接使用需使用轉義字元 (\)
    ‘ -> \’
    ” -> \”
    n -> \n
    r -> \r
    t -> \t
    \ -> \\

  2. 雙引號
    >>> str2="abc\r\n\'\"123"
    >>> str2
    'abc\r\n\'"123'
    >>> print(str2)
    abc
    '"123
    
  3. 三重引號
    可使用單引號.

    >>> str3='''abc\r\n\'\"123
    ... This is a book\n
    ... the end ...'''
    >>> str3
    'abc\r\n\'"123\nThis is a book\n\nthe end ...'
    >>> print(str3)
    abc
    '"123
    This is a book
    
    the end ...
    

    或是雙引號

    >>> str3="""abc\r\n\'\"123
    ... This is a book\n
    ... the end ..."""
    

字串的操作方式.

  1. []
    取得字串指定字元.

    >>> str1='ABC DEF'
    >>> str1[0]
    'A'
    >>> str1[1:3]
    'BC'
    
  2. 運算子 +
    將字串連接在一起.

    >>> str1='ABC'
    >>> str2='123'
    >>> str1+str2
    'ABC123'
    

下面來看一下字串常用的 method

  • split
    將字串依據分隔字元來拆分.

    >>> numbers = input('輸入數字(空白區隔):').split(' ')
    輸入數字(空白區隔):1 2 3 4 5
    >>> print (numbers)
    ['1', '2', '3', '4', '5']
    

    上面的分隔字元為 空白,輸入字串時會依據輸入中間的空白字元來拆分成 list.

    >>> type(numbers)
    <class 'list'>
    
  • lower() , upper() , title() , capitalize()
    將字串顯示成指定大小寫.

    轉成小寫

    >>> str1.lower()
    'abc def'
    

    轉成大寫

    >>> str1.upper()
    'ABC DEF'
    

    每個單字前第一個字元為大寫

    >>> str1.title()
    'Abc Def'
    

    字串第一個字元為大寫

    >>> str1.capitalize()
    'Abc def'
    
  • islower() , isupper() , isalpha() , isdecimal() , istitle() , isspace() , isalnum()
    字串內的英文字母是否都小寫

    >>> str0='abc123'
    >>> str0.islower()
    True
    

    字串內的英文字母是否都大寫

    True
    >>> str1='ABC123'
    >>> str1.isupper()
    True
    

    是否為英文字母

    >>> str2='Abc'
    >>> str2.isalpha()
    True
    

    是否為數字

    >>> str3='123'
    >>> str3.isdecimal()
    True
    

    是否為空白字元

    >>> str4='   '
    >>> str4.isspace()
    True
    

    是否每個單字第一個字元都是大寫

    >>> str5='Abc Def'
    >>> str5.istitle()
    True
    

    是否只包含數字與英文字母

    >>> str6='Abc123'
    >>> str6.isalnum()
    True
    
  • strip() , rstrip() , lstrip()
    刪除指定字元

    >>> str1='   ABC   '
    

    刪除左右邊空白字元.

    >>> str1.strip(' ')
    'ABC'
    

    刪除右邊空白字元.

    >>> str1.rstrip(' ')
    '   ABC'
    

    刪除左邊空白字元.

    >>> str1.lstrip(' ')
    'ABC   '
    

    這邊的刪除是不按照順序,以下面例子來看,要刪除包含 213 (不用依據順序) , 所以 左邊的 123 以及右邊的 321 都會被刪除.

    >>> str2='123abc321'
    >>> str2.strip('213')
    'abc'
    
  • center() , rjust() , ljust()
    在指定的字元數填入指定字元.

    >>> str1='abc'
    

    系統在 abc 前填入 *** (3個) 與後面填入 **** (4個),總共 10 個字元.

    >>> str1.center(10,'*')
    '***abc****'
    

    字串靠右,* 填在左邊.

    >>> str1.rjust(10,'*')
    '*******abc'
    

    字串靠左,* 填在右邊.

    >>> str1.ljust(10,'*')
    'abc*******'
    
  • join()
    將字串結合在一起.

    >>> str1='123'
    >>> str2='ABC'
    >>> str1.join(str2)
    'A123B123C'
    
  • replace()
    替換指定字串.

    >>> str1='ABC 123'
    >>> str1.replace('123' , 'ABC')
    'ABC ABC'
    
  • count()
    計算字串出現的次數.

    >>> str1='ABC 123'
    >>> str1.replace('123' , 'ABC')
    'ABC ABC'
    >>> str1='ABC 123 abc123'
    >>> str1.count('ABC')
    1
    >>> str1.count('abc')
    1
    >>> str1.count('123')
    2
    
沒有解決問題,試試搜尋本站其他內容

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料