Python3入門基礎--str常用方法


Python基礎之String常用方法

  1. str():將其他類型的變量轉換為str類型,例如:
     1 name = 'Jack'
     2 age = 22
     3 course = ['web','Java','mysql','linux']
     4 greads = [80,89,96,72]
     5 print('使用str()函數前:')
     6 print(type(name))
     7 print(type(age))
     8 print(type(course))
     9 print(type(greads))
    10 print('使用str()函數后:')
    11 print(type(str(name)))
    12 print(type(str(age)))
    13 print(type(str(course)))
    14 print(type(str(greads)))

     運行結果為:

    使用str()函數前:
    <class 'str'>
    <class 'int'>
    <class 'list'>
    <class 'list'>
    使用str()函數后:
    <class 'str'>
    <class 'str'>
    <class 'str'>
    <class 'str'>

     

  2. capitalize:字符串的第一個字母大寫,例如:
    1 s='asdfg hjkl'
    2 print(s.capitalize())

    運行結果為:

    Asdfg hjkl

     

  3. casefold:大小寫相互轉換,例如:
    1 s1 = 'asdfghjkl'
    2 s2 = 'ZXCVBNM'
    3 print(s1.swapcase())
    4 print(s2.swapcase())

    運行結果為:

    ASDFGHJKL
    zxcvbnm

     

  4. center:居中,自定義填充字符,例如:
    1 s = 'COME ON'
    2 print(s.center(20))#長度為20,以空格填充
    3 print(s.center(20,'*'))#長度為20,以‘*’填充

    運行結果為:

          COME ON       
    ******COME ON*******

     

  5. count:找子字符串個數,例如:
    1 s = 'aghyghaya'
    2 print(s.count('a'))#查找所有字符
    3 print(s.count('a',3))#從第3個開始查找
    4 print(s.count('a',3,9))#從第3個到第9-1個
    5 print(s.count('gh',1,9))#查找‘gh’

    運行及如果為:

    3
    2
    2
    2

     

  6. encode/decode:編碼/解碼:
    1 s1 = '你好,世界!'
    2 s2 = s1.encode('UTF-8','strict')
    3 print(s2)
    4 print(s2.decode())

    運行結果為:

    b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c\xef\xbc\x81'
    你好,世界!

     

  7. endswith:
    1 s = 'asdfghjklpoiuytrewq'
    2 print(s.endswith('ewq'))
    3 print(s.endswith('jkl',0,9))
    4 print(s.endswith('sdf'))

    運行結果為:

    True
    True
    False

     

  8. expandtabs:將\t替換為制定空格數,默認為8個,例如:
    1 s = 'asd\tfgh\tjkl'
    2 print(s.expandtabs())
    3 print(s.expandtabs(2))

    運行結果:

    asd     fgh     jkl
    asd fgh jkl

     

  9. find/rfind:尋找子字符串,返回索引,找不到返回-1,例如:
     1 s = 'asdfghasdfcvgfdsa'
     2 print(s.find('as'))
     3 print(s.find('as',2))
     4 print(s.find('as',2,5))
     5 print(s.find('po'))
     6 
     7 print('r'.center(10,"*"))
     8 print(s.rfind('as'))
     9 print(s.rfind('as',2))
    10 print(s.rfind('as',2,5))
    11 print(s.rfind('po'))

     

    運行結果為:

     
               

    0
    6
    -1
    -1
    ****r*****
    6
    6
    -1
    -1

     

  10. format
    1 s = '{0},{1} {2}'
    2 print(s.format('Hello','my','friends.'))
    3 s = '{2},{1} {2}'
    4 print(s.format('Hello','my','friends.'))

    運行結果為:

    Hello,my friends.
    friends.,my friends.

     

  11. index:尋找子字符串,返回索引,找不到報錯,例如:
    1 s = 'asdfghasdfcvgfdsa'
    2 print(s.index('as'))
    3 print(s.index('as',2))
    4 print(s.index('as',2,5))    #報錯
    5 print(s.index('po'))      #報錯

    運行結果為:

    0
    Traceback (most recent call last):
    6
      File "E:/.../str-index.py", line 4, in <module>
        print(s.index('as',2,5))    #報錯
    ValueError: substring not found

     

  12. join:Python join() 方法用於將序列中的元素以指定的字符連接生成一個新的字符串。
    1 s = 'Hello, world!'
    2 print('-'.join(s,))
    3 print('*'.join(s,))

    運行結果為:

    H-e-l-l-o-,- -w-o-r-l-d-!
    H*e*l*l*o*,* *w*o*r*l*d*!

     

  13. ljust/rjust:Python rjust() 返回一個原字符串右對齊,並使用空格填充至長度 width 的新字符串。如果指定的長度小於字符串的長度則返回原字符串。
    1 s = 'asdfghjkl'
    2 print(s.ljust(20,'*'))
    3 print(s.rjust(20,'*'))

    運行結果為:

    asdfghjkl***********
    ***********asdfghjkl

     

  14. strip/lstrip/lstrip:用於截掉字符串左邊或右邊的空格或指定字符:
    1 s1 = '       asdfghjkl       '
    2 s2 = '****asdfghjkl****'
    3 print(s1.strip())
    4 print(s2.strip('*'))
    5 print(s2.rstrip('*'))
    6 print(s2.lstrip('*'))

    運行結果為:

    asdfghjkl
    asdfghjkl
    ****asdfghjkl
    asdfghjkl****

     

  15. lower轉換小寫:
    1 s = 'ASDFghJKL'
    2 print(s.lower())

    運行結果為:

    asdfghjkl

     

  16. maketrans/translate:用於創建字符映射的轉換表,對於接受兩個參數的最簡單的調用方式,第一個參數是字符串,表示需要轉換的字符,第二個參數也是字符串表示轉換的目標。
    1 s1 = "asdfghjkl"
    2 s2 = "123456789"
    3 s = str.maketrans(s1,s2)
    4 str = 'qawsedrftgyhujikolp'
    5 print(str.translate(s))

    運行結果為:

    q1w2e3r4t5y6u7i8o9p

     

  17. partition:方法用來根據指定的分隔符將字符串進行分割。
    1 s = 'asdfghjkl'
    2 print(s.partition('fgh'))

    運行結果:

    ('asd', 'fgh', 'jkl')

     

  18. replace:替換字符串:
    1 s = 'asdfghjkl'
    2 print(s.replace('df','@#$%^&*'))

    運行結果為:

    as@#$%^&*ghjkl

     

  19. split/replit:用於移除字符串頭尾指定的字符(默認為空格)。
    1 s = 'asdfghjkl'
    2 print(s.split('gh'))
    3 print(s.rsplit('gh'))

    運行結果為:

    ['asdf', 'jkl']
    ['asdf', 'jkl']

     

  20. splitlines:分割行:
    1 s = 'asdghjjki\nuytfghj\njjhfkdsj\nhfajhfjdskhfjdskhf'
    2 print(s.splitlines())

    運行結果為:

    ['asdghjjki', 'uytfghj', 'jjhfkdsj', 'hfajhfjdskhfjdskhf']

     

  21. startswith:判斷字符串是否以某個字符串開始:
    1 str = 'asdfghjkl'
    2 print(str.startswith('asd'))
    3 print(str.startswith('dfg',2))
    4 print(str.startswith('dfg',2,7))
    5 print(str.startswith('fds'))

    運行結果為:

    True
    True
    True
    False

     

  22. strip:去除首部 and/or 尾部的指定的字符,默認空格:
    1 s1 = '       asdfghjkl       '
    2 s2 = '****asdfghjkl****'
    3 print(s1.strip())
    4 print(s2.strip('*'))
    5 print(s2.rstrip('*'))
    6 print(s2.lstrip('*'))

    運行結果為:

    asdfghjkl
    asdfghjkl
    ****asdfghjkl
    asdfghjkl****

     

  23. swapcase:大小寫互換:
    1 s = 'asdfgHJKL'
    2 print(s.swapcase())

    運行結果為:

    ASDFGhjkl

     

  24. title:個單詞首字母大寫:
    1 s = 'my love will go on'
    2 print(s.title())

    運行結果為:

    My Love Will Go On

     

  25. upper:轉大寫字母:
    1 s = 'qwe rfg hbn jk'
    2 print(s.upper())

    運行結果為:

    QWE RFG HBN JK

     

  26. zfill:用0填充長度:
    1 s = 'asdf'
    2 print(s.zfill(8))

    運行結果為:

    0000asdf

     

  27. isalnum:如果 string 至少有一個字符並且所有字符都是字母或數字則返回 True,否則返回 False。
  28. isalpha:如果 string 至少有一個字符並且所有字符都是字母則返回 True,否則返回 False。
  29. isdecimal:isdecimal()方法檢查字符串是否只包含十進制字符。這種方法只存在於unicode對象。
  30. isdigit:如果 string 只包含數字則返回 True 否則返回 False。
  31. isidentifier:如果 string 中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是大寫,則返回 True,否則返回 False。
  32. isupper:如果 string 中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是大寫,則返回 True,否則返回 False。
  33. islower:如果 string 中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是小寫,則返回 True,否則返回 False。
  34. isnumeric:如果 string 中只包含數字字符,則返回 True,否則返回 False。
  35. isprintable:判斷字符串的所有字符都是可打印字符或字符串為空。Unicode 字符集中 “Other” “Separator” 類別的字符為不可打印的字符(但不包括 ASCII 的空格(0x20))。
  36. isspace:如果 string 中只包含空格,則返回 True,否則返回 False。
  37. istitle:如果字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫則返回 True,否則返回 False。

本文參考鏈接http://www.runoob.com/python/python-strings.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM