(Python基礎教程之七)Python字串操作
在,string文字是:
- 代表Unicode字元的位元組陣列
- 用單引號或雙引號引起來
- 無限長度
字串文字
str = 'hello world'
str = "hello world"
一個多行字串使用三個單引號或三個雙引號建立的。
多行字串文字
str = '''Say hello
to python
programming'''
str = """Say hello
to python
programming"""
Python沒有字元資料型別,單個字元就是長度為1的字串。
2. Substring or slicing
透過使用slice語法,我們可以獲得一系列字元。索引從零開始。
str[m:n] 從位置2(包括)到5(不包括)返回字串。
從索引2到5的子字串
str = 'hello world'
print(str[2:5]) # llo
負切片將從末尾返回子字串。
子串從索引-5到-2
str = 'hello world'
print(str[-5:-2]) # wor
str[-m:-n] 將字串從位置-5(不包括)返回到-2(包括)。
3. Strings as arrays
在python中,字串表現為陣列。方括號可用於訪問字串的元素。
字元在第n個位置
str = 'hello world'
print(str[0]) # h
print(str[1]) # e
print(str[2]) # l
print(str[20]) # IndexError: string index out of range
4. String length
len()函式返回字串的長度:
字串長度
str = 'hello world'
print(len(str)) # 11
5. String Formatting
要在python中格式化s字串,請{ }在所需位置在字串中使用佔位符。將引數傳遞給format()函式以使用值格式化字串。
我們可以在佔位符中傳遞引數位置(從零開始)。
字串格式()
age = 36
name = 'Lokesh'
txt = "My name is {} and my age is {}"
print(txt.format(name, age)) # My name is Lokesh and my age is 36
txt = "My age is {1} and the name is {0}"
print(txt.format(name, age)) # My age is 36 and the name is Lokesh
6. String Methods
6.1. capitalize()
它返回一個字串,其中給定字串的第一個字元被轉換為大寫。當第一個字元為非字母時,它將返回相同的字串。
字串大寫()
name = 'lokesh gupta'
print( name.capitalize() ) # Lokesh gupta
txt = '38 yrs old lokesh gupta'
print( txt.capitalize() ) # 38 yrs old lokesh gupta
6.2. casefold()
它返回一個字串,其中所有字元均為給定字串的小寫字母。
字串casefold()
txt = 'My Name is Lokesh Gupta'
print( txt.casefold() ) # my name is lokesh gupta
6.3. center()
使用指定的字元(預設為空格)作為填充字元,使字串居中對齊。
在給定的示例中,輸出總共需要20個字元,而“ hello world”位於其中。
字串中心
txt = "hello world"
x = txt.center(20)
print(x) # ' hello world '
6.4. count()
它返回指定值出現在字串中的次數。它有兩種形式:
count(value) - value to search for in the string.
count(value, start, end) - value to search for in the string, where search starts from start position till end position.
字串數()
txt = "hello world"
print( txt.count("o") ) # 2
print( txt.count("o", 4, 7) ) # 1
6.5. encode()
它使用指定的編碼對字串進行編碼。如果未指定編碼,UTF-8將使用。
字串encode()
txt = "My name is åmber"
x = txt.encode()
print(x) # b'My name is xc3xa5mber'
6.6.
True如果字串以指定值結尾,則返回,否則返回False。
字串endswith()
txt = "hello world"
print( txt.endswith("world") ) # True
print( txt.endswith("planet") ) # False
6.7. expandtabs()
它將製表符大小設定為指定的空格數。
字串expandtabs()
txt = "hellotworld"
print( txt.expandtabs(2) ) # 'hello world'
print( txt.expandtabs(4) ) # 'hello world'
print( txt.expandtabs(16) ) # 'hello world'
6.8. find()
它查詢指定值的第一次出現。-1如果字串中沒有指定的值,它將返回。
find()與index()方法相同,唯一的區別是,index()如果找不到該值,該方法將引發異常。
字串find()
txt = "My name is Lokesh Gupta"
x = txt.find("e")
print(x) # 6
6.9. format()
它格式化指定的字串,並在字串的佔位符內插入引數值。
字串格式()
age = 36
name = 'Lokesh'
txt = "My name is {} and my age is {}"
print( txt.format(name, age) ) # My name is Lokesh and my age is 36
6.10. format_map()
它用於返回字典鍵的值,以格式化帶有命名佔位符的字串。
字串format_map()
params = {'name':'Lokesh Gupta', 'age':'38'}
txt = "My name is {name} and age is {age}"
x = txt.format_map(params)
print(x) # My name is Lokesh Gupta and age is 38
6.11. index()
- 它在給定的字串中查詢指定值的第一次出現。
- 如果找不到要搜尋的值,則會引發異常。
字串index()
txt = "My name is Lokesh Gupta"
x = txt.index("e")
print(x) # 6
x = txt.index("z") # ValueError: substring not found
6.12. isalnum()
它檢查字母數字字串。True如果所有字元都是字母數字,即字母(a-zA-Z)和數字,它將返回(0-9)。
字串isalnum()
print("LokeshGupta".isalnum()) # True
print("Lokesh Gupta".isalnum()) # False - Contains space
6.13. isalpha()
True如果所有字元都是字母,則返回它,即字母(a-zA-Z)。
字串isalpha()
print("LokeshGupta".isalpha()) # True
print("Lokesh Gupta".isalpha()) # False - Contains space
print("LokeshGupta38".isalpha()) # False - Contains numbers
6.14. isdecimal()
如果所有字元均為小數(0-9),則返回程式碼。否則返回False。
字串isdecimal()
print("LokeshGupta".isdecimal()) # False
print("12345".isdecimal()) # True
print("123.45".isdecimal()) # False - Contains 'point'
print("1234 5678".isdecimal()) # False - Contains space
6.15. isdigit()
True如果所有字元都是數字,則返回,否則返回False。指數也被認為是數字。
字串isdigit()
print("LokeshGupta".isdigit()) # False
print("12345".isdigit()) # True
print("123.45".isdigit()) # False - contains decimal point
print("1234u00B2".isdigit()) # True - unicode for square 2
6.16. isidentifier()
True如果字串是有效的識別符號,則返回,否則返回False。
有效的識別符號僅包含字母數字字母(a-z)和(0-9)或下劃線( _ )。它不能以數字開頭或包含任何空格。
字串isidentifier()
print( "Lokesh_Gupta_38".isidentifier() ) # True
print( "38_Lokesh_Gupta".isidentifier() ) # False - Start with number
print( "_Lokesh_Gupta".isidentifier() ) # True
print( "Lokesh Gupta 38".isidentifier() ) # False - Contain spaces
6.17. islower()
True如果所有字元均小寫,則返回,否則返回False。不檢查數字,符號和空格,僅檢查字母字元。
字串islower()
print( "LokeshGupta".islower() ) # False
print( "lokeshgupta".islower() ) # True
print( "lokesh_gupta".islower() ) # True
print( "lokesh_gupta_38".islower() ) # True
6.18. isnumeric()
True如果所有字元都是數字(0-9),則it方法返回,否則返回False。指數也被認為是數值。
字串isnumeric()
print("LokeshGupta".isnumeric()) # False
print("12345".isnumeric()) # True
print("123.45".isnumeric()) # False - contains decimal point
print("1234u00B2".isnumeric()) # True - unicode for square 2
6.19. isprintable()
它返回True,如果所有字元都列印,否則返回False。不可列印字元用於指示某些格式化操作,例如:
- 空白(被視為不可見的圖形)
- 回車
- 標籤
- 換行
- 分頁符
- 空字元
字串isprintable()
print("LokeshGupta".isprintable()) # True
print("Lokesh Gupta".isprintable()) # True
print("LokeshtGupta".isprintable()) # False
6.20. isspace()
True如果字串中的所有字元都是空格,則返回,否則返回False。
6.21. istitle()
它返回True如果文字的所有單詞以大寫字母開頭,字的其餘均為小寫字母,即標題案例。否則False。
字串istitle()
print("Lokesh Gupta".istitle()) # True
print("Lokesh gupta".istitle()) # False
6.22. isupper()
True如果所有字元均大寫,則返回,否則返回False。不檢查數字,符號和空格,僅檢查字母字元。
字串isupper()
print("LOKESHGUPTA".isupper()) # True
print("LOKESH GUPTA".isupper()) # True
print("Lokesh Gupta".isupper()) # False
6.23. join()
它以可迭代方式獲取所有專案,並使用強制性指定的分隔符將它們連線為一個字串。
字串join()
myTuple = ("Lokesh", "Gupta", "38")
x = "#".join(myTuple)
print(x) # Lokesh#Gupta#38
6.24. ljust()
此方法將使用指定的字元(預設為空格)作為填充字元使字串左對齊。
字串ljust()
txt = "lokesh"
x = txt.ljust(20, "-")
print(x) # lokesh--------------
6.25. lower()
它返回一個字串,其中所有字元均為小寫。符號和數字將被忽略。
字串lower()
txt = "Lokesh Gupta"
x = txt.lower()
print(x) # lokesh gupta
6.26. lstrip()
它刪除所有前導字元(預設為空格)。
字串lstrip()
txt = "#Lokesh Gupta"
x = txt.lstrip("#_,.")
print(x) # Lokesh Gupta
6.27. maketrans()
它建立一個字元到其轉換/替換的一對一對映。當在translate()方法中使用時,此翻譯對映隨後用於將字元替換為其對映的字元。
字串maketrans()
dict = {"a": "123", "b": "456", "c": "789"}
string = "abc"
print(string.maketrans(dict)) # {97: '123', 98: '456', 99: '789'}
6.28. partition()
它在給定的文字中搜尋指定的字串,並將該字串拆分為包含三個元素的元組:
- 第一個元素包含指定字串之前的部分。
- 第二個元素包含指定的字串。
- 第三個元素包含字串後面的部分。
字串partition()
txt = "my name is lokesh gupta"
x = txt.partition("lokesh")
print(x) # ('my name is ', 'lokesh', ' gupta')
print(x[0]) # my name is
print(x[1]) # lokesh
print(x[2]) # gupta
6.29. replace()
它將指定的短語替換為另一個指定的短語。它有兩種形式:
- string.replace(oldvalue, newvalue)
- string.replace(oldvalue, newvalue, count)–“計數”指定要替換的出現次數。預設為所有事件。
字串replace()
txt = "A A A A A"
x = txt.replace("A", "B")
print(x) # B B B B B
x = txt.replace("A", "B", 2)
print(x) # B B A A A
6.30. rfind()
它查詢指定值的最後一次出現。-1如果在給定的文字中找不到該值,則返回該值。
字串rfind()
txt = "my name is lokesh gupta"
x = txt.rfind("lokesh")
print(x) # 11
x = txt.rfind("amit")
print(x) # -1
6.31. rindex()
它查詢指定值的最後一次出現,如果找不到該值,則引發異常。
字串rindex()
txt = "my name is lokesh gupta"
x = txt.rindex("lokesh")
print(x) # 11
x = txt.rindex("amit") # ValueError: substring not found
6.32. rjust()
它將使用指定的字元(預設為空格)作為填充字元來右對齊字串。
字串rjust()
txt = "lokesh"
x = txt.rjust(20,"#")
print(x, "is my name") # ##############lokesh is my name
6.33. rpartition()
它搜尋指定字串的最後一次出現,並將該字串拆分為包含三個元素的元組。
- 第一個元素包含指定字串之前的部分。
- 第二個元素包含指定的字串。
- 第三個元素包含字串後面的部分。
字串rpartition()
txt = "my name is lokesh gupta"
x = txt.rpartition("lokesh")
print(x) # ('my name is ', 'lokesh', ' gupta')
print(x[0]) # my name is
print(x[1]) # lokesh
print(x[2]) # gupta
6.34. rsplit()
它將字串從右開始拆分為一個列表。
字串rsplit()
txt = "apple, banana, cherry"
x = txt.rsplit(", ")
print(x) # ['apple', 'banana', 'cherry']
6.35. rstrip()
它刪除所有結尾字元(字串末尾的字元),空格是預設的結尾字元。
字串rstrip()
txt = " lokesh "
x = txt.rstrip()
print(x) # ' lokesh'
6.36.
它將字串拆分為列表。您可以指定分隔符。預設分隔符為空格。
字串split()
txt = "my name is lokesh"
x = txt.split()
print(x) # ['my', 'name', 'is', 'lokesh']
6.37. splitlines()
透過在換行符處進行拆分,它將字串拆分為列表。
字串splitlines()
txt = "my namenis lokesh"
x = txt.splitlines()
print(x) # ['my name', 'is lokesh']
6.38.
True如果字串以指定值開頭,則返回,否則返回False。字串比較區分大小寫。
字串startswith()
txt = "my name is lokesh"
print( txt.startswith("my") ) # True
print( txt.startswith("My") ) # False
6.39. strip()
它將刪除所有前導(開頭的空格)和結尾(結尾的空格)字元(預設為空格)。
字串strip()
txt = " my name is lokesh "
print( txt.strip() ) # 'my name is lokesh'
6.40. swapcase()
它返回一個字串,其中所有大寫字母均為小寫字母,反之亦然。
字串swapcase()
txt = "My Name Is Lokesh Gupta"
print( txt.swapcase() ) # mY nAME iS lOKESH gUPTA
6.41. title()
它返回一個字串,其中每個單詞的第一個字元均為大寫。如果單詞開頭包含數字或符號,則其後的第一個字母將轉換為大寫字母。
字串標題()
print( "lokesh gupta".title() ) # Lokesh Gupta
print( "38lokesh gupta".title() ) # 38Lokesh Gupta
print( "1. lokesh gupta".title() ) # Lokesh Gupta
6.42. translate()
它需要轉換表來根據對映表替換/翻譯給定字串中的字元。
字串translate()
translation = {97: None, 98: None, 99: 105}
string = "abcdef"
print( string.translate(translation) ) # idef
6.43. upper()
它返回一個字串,其中所有字元均為大寫。符號和數字將被忽略。
字串upper()
txt = "lokesh gupta"
print( txt.upper() ) # LOKESH GUPTA
6.44. zfill()
它在字串的開頭新增零(0),直到達到指定的長度。
字串zfill()
txt = "100"
x = txt.zfill(10)
print( 0000000100 ) # 0000000100
學習愉快!
作者:
出處:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4289/viewspace-2825373/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [Python基礎]字串操作Python字串
- Python基礎——while、字串、列表及操作PythonWhile字串
- Python基礎—字串Python字串
- python基礎之字串Python字串
- Python基礎(02):字串Python字串
- python基礎操作Python
- (Python基礎教程之十二)Python讀寫CSV檔案Python
- Python培訓教程之Python基礎知識點梳理Python
- Python字串操作Python字串
- Python基礎——檔案操作Python
- python基礎(三)——操作列表Python
- Python培訓基礎教程都教哪些Python
- python基礎之字串和編碼Python字串
- Python基礎入門(9)- Python檔案操作Python
- Python基礎之七:編碼詳解Python
- Python基礎語法(七:類與物件)Python物件
- Python基礎之:數字字串和列表Python字串
- 豬行天下之Python基礎——3.5 字串Python字串
- 零基礎學習 Python 之字串Python字串
- Python基礎:資料型別-字串(7)Python資料型別字串
- Shell基礎教程七:Shell字串字串
- python基礎操作——正規表示式Python
- Python中基礎的時間操作Python
- 前端基礎(七):cookie操作前端Cookie
- Python零基礎爬蟲教學(實戰案例手把手Python爬蟲教學)Python爬蟲
- Python基礎知識七 元組&字典&集合Python
- Python基礎篇-Python基礎01Python
- Python程式設計基礎:f-字串格式Python程式設計字串
- Python教程系列(一)—— Python基礎教程之第一個程式設計練習Python程式設計
- python 檔案操作的基礎總結Python
- 【Python自動化Excel】Python與pandas字串操作PythonExcel字串
- Python小白必備:字串基礎,規則與案例Python字串
- Python操作Excel的Xlwings教程(七)PythonExcel
- Python基礎筆記01-Python基礎Python筆記
- Python學習教程之基本資料型別字串Python資料型別字串
- Python基礎教程之最常見的面試題(附答案)Python面試題
- Python科研武器庫 - 字串操作 - 字串分隔 split()、rsplit()Python字串
- Python基礎Python