首頁 > 軟體

python字串不可變資料型別

2022-02-11 10:03:38

一、擷取子串-切片

方法:字串名[初始位置:結束位置:步長]

str1 = 'abcdefg'
print(str1[:]) # abcdefg
print(str1[0:2]) # ab 左閉右開
print(str1[0:2:1]) # ab 預設步長為1
print(str1[:3]) # abc
print(str1[0:]) # abcdefg
print(str1[::-1]) # gfedcba
print(str1[-4:-1]) #def -1代表最右端
# print(str1[-4:-1:-1]) # 儘量避免這樣寫

二、查詢子串及數量

方法:

  • 1. 字串名.index(子串,起始位置,末位置) ---對應 rindex 從右往左數
  • 2. 字串名.find(子串,起始位置,末位置)   --對應rfind從右往左數
  • 3. 字串名.count(子串,其實位置,末位置)
str1 = 'my name is fl and my pet is a parrot'
print(str1.find('is')) # 8
print(str1.find('is', 9, 30)) # 25
print(str1.find('dog')) # -1 --find如果沒有查詢到對應的子串則返回-1
 
print(str1.index('is')) # 8
print(str1.index('is', 9, 30)) # 25
# print(str1.index('dog')) # -1 --index如果沒有查詢到對應的子串則報錯
 
print(str1.rindex('is')) # 25
print(str1.rfind('is')) # 25
 
print(str1.count('is')) # 2
print(str1.count('dog')) # 0
print(str1.count('is', 0, 15)) # 1

三、字串的替換、分割以及合併

1. 字串的替換:字串名.replace(原串,替換成的串, 替換次數)

str1 = 'Food and Fruit and Animal'
new_str = str1.replace('and', 'he') # Food he Fruit he Animal
new_str = str1.replace('and', 'he', 1) # Food he Fruit and Animal

2. 字串的分割:字串名.split(分割的串, 分割次數)

str1 = 'Food and Fruit and Animal'
new_str = str1.split('and') # ['Food ', ' Fruit ', ' Animal']
new_str = str1.split('and', 1) # ['Food ', ' Fruit and Animal']

3. 字串的合併:合併符號.join(列表名)

mylist = ['I', 'Love', 'You']
new_str = ' '.join(mylist) # I Love You
new_str = '..'.join(mylist) # I..Love..You

四、字母的大小寫

  • 1. 僅首字母大寫:字串名.capitalize()
  • 2. 每個單詞的首字母都變成大寫:字串名.title()
  • 3. 將每個小寫字母都變成大寫字母:字串名.upper()
  • 4. 將每個大寫字母都變成小寫字母:字串名.lower()
str1 = 'oh , my dear , I love you'
new_str = str1.capitalize() # Oh , my dear , i love you
new_str = str1.title() # Oh , My Dear , I Love You
new_str = str1.upper() # OH , MY DEAR , I LOVE YOU
new_str = str1.lower() # oh , my dear , i love you

五、刪除側邊的空白

  • 1. 刪除左側空白:字串名.lstrip()
  • 2. 刪除右側空白:字串名.rstrip()
  • 3. 刪除兩側空白:字串名.strip()
str1 = "   come on baby , it's true  "
new_str = str1.lstrip() # come on baby , it's true
new_str = str1.rstrip() #    come on baby , it's true
new_str = str1.strip() # come on baby , it's true

六、對齊方式

方法:字串名.ljust(整體字元長度, 用於填補的符號)

str1 = 'abcd'
new_str = str1.ljust(10, '.') # abcd......
new_str = str1.ljust(10) # abcd(後面有六個空格)
new_str = str1.rjust(10, '/') # //abcd
new_str = str1.center(10, '.') # ...abcd...

七、判斷首位字元是否正確(返回布林值)

  • 1. 字串名.startswith(子串, 起始位置, 末位置)
  • 2. 字串名.endswith(子串, 起始位置, 末位置)
str1 = 'hello world'
print(str1.startswith('he')) # True
print(str1.startswith('ho')) # False
print(str1.endswith('ho')) # False
print(str1.endswith('world')) # True

八、判斷字母、數以及空格

  • 1. 判斷是否所有都為字母:字串名.isalpha()
  • 2. 判斷是否所有都為數位:字串名.isdigit()
  • 3. 判斷是否所有都為字母或數位或其組合:字串名.isalnum()
  • 4. 判斷是否所有都為空格:字串名.isspace()
str1 = 'hello world'
print(str1.isalpha()) # False
str1 = 'abc'
print(str1.isalpha()) # True
 
str2 = '123 45'
print(str2.isdigit()) # False
str2 = '123'
print(str2.isdigit()) # True
 
str3 = 'abc123'
print(str3.isalnum()) # True
str3 = 'abc 123'
print(str3.isalnum()) # False
 
str4 = '123 '
print(str4.isspace()) # False
str4 = '   '
print(str4.isspace()) # True

到此這篇關於python字串不可變資料型別的文章就介紹到這了,更多相關python字串內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com