日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python字符串的一些常見實用操作_python

作者:中南自動化學院“智能控制與優化決策“至渝 ? 更新時間: 2022-06-07 編程語言

切片——str[start:end]

str1 = ' python str '
#切片
print(str1[3:6])   # str[start:end](下標從 0 開始)從下標為start開始算起,切取到下標為 end-1 的元素,切取的區間為 [start, end)
print(str1[2:8:2]) # str[start:end:step],取 [start, end) 之間的元素,每隔 step 個取一個
print(str1[2:9:2])

tho
yhn
yhns

字符串長度——len(str)

str1 = "aBCd Efgh ijK LmN"
print(len(str1))   # 返回字符串的長度

17

重復字符串 ——1、str * n,2、n * str

#重復字符串   1、str * n,2、n * str, n為一個 int型的數字
str1 = ' python str '
print(str1*2)
print(3*str1)

python str python str
python str python str python str

查找某個字符 or 某個字符子串在不在原字符串中

1、in 關鍵字

#  in 關鍵字
str1 = ' python str '
print('p' in str1)
print('py' in str1)
print('py' not in str1)

True
True
False

2、find函數

# str.find(str, start=0, end=len(string))  如果包含子字符串返回開始的索引值,否則返回-1。
str1 = ' python str '
str2 = "python"
print(str1.find(str2))
print(str1.find(str2, 1))
print(str1.find(str2, 5))

1
1
-1

3、index函數

# str.index(str, start=0, end=len(string))  如果包含子字符串返回開始的索引值,否則拋出異常。
str1 = ' python str '
str2 = "python"
print(str1.index(str2))
print(str1.index(str2, 1))
print(str1.index(str2, 5))

1
1Traceback (most recent call last):
File “E:/李明/pycharmProject/深度學習入門/main.py”, line 27, in
print(str1.index(str2, 5))
ValueError: substring not found

4、rfind函數

str11 = " python str  python str "
str2 = "python"
print(str11.rfind(str2))
print(str11.rfind(str2,10,len(str11)))   #  str.rfind(substr, start,end) 類似于 find()函數,不過是從右邊開始查找.

5、rindex函數

str11 = " python str  python str "
str2 = "python"
print(str11.rindex(str2))  #  str.rindex(substr, start,end)類似于 index(),不過是從右邊開始.
print(str11.rindex(str2,10,len(str11)))

字符串中某字符(子字符串)的數量——str.count(sub, start= 0,end=len(string))

str = "li hua shi ge huai hai zi"
print(str.count('i', 0, 15))   # str.count(sub, start= 0,end=len(string))
print(str.count('i'))
print(str.count('shi'))

2
5
1

去除空格——str.strip()、str.lstrip()、str.rstrip()

str1 = ' python str '
print (str1)   
print (str1.strip())     # 去首尾空格
print (str1.lstrip())    # 去左側空格
print (str1.rstrip())    # 去右側空格

結果:

分割字符串——str.split()

str1 = '1 , 2 , 3 , 4 , 5'
print (str1.split())      # 默認使用空格分隔
print (str1.split(' '))    # 指定使用空格進行分隔,首尾如果有空格,則會出現在結果中
print (str1.split(','))    # 指定其他字符串進行分隔,指定,分割
print (str1.split('3 ,'))  # 指定  3 , 分割

[‘1’, ‘,’, ‘2’, ‘,’, ‘3’, ‘,’, ‘4’, ‘,’, ‘5’]
[‘1’, ‘,’, ‘2’, ‘,’, ‘3’, ‘,’, ‘4’, ‘,’, ‘5’]
['1 ', ’ 2 ', ’ 3 ', ’ 4 ‘, ’ 5’]
['1 , 2 , ‘, ’ 4 , 5’]

以 str 為分隔符切片 mystr,如果 maxsplit有指定值,則僅分隔 maxsplit 次

str1 = '1 , 2 , 3 , 4 , 5'
print (str1.split(','))    # 指定其他字符串進行分隔,指定,分割
print (str1.split(',',3))

['1 ', ’ 2 ', ’ 3 ', ’ 4 ‘, ’ 5’]
['1 ', ’ 2 ', ’ 3 ‘, ’ 4 , 5’]

替換字符串——str.replace(old, new, max)

# str.replace(old, new, max)  字符串中的 old(舊字符串) 替換成 new(新字符串),如果指定第三個參數max,則替換不超過 max 次。
str1 = "li hua shi ge huai hai zi,li hua shi ge huai hai zi"
print(str1.replace("ai", "PL"))
print(str1.replace("ai", "PL", 3))

li hua shi ge huPL hPL zi,li hua shi ge huPL hPL zi
li hua shi ge huPL hPL zi,li hua shi ge huPL hai zi

判斷字符串是否以指定前綴、后綴結尾

是否是指定前綴——str.startswith(str, start=0,end=len(string))

# str.startswith(str, start=0,end=len(string)),檢查字符串[start,end)以指定子字符串開頭,如果是則返回 True,否則返回 False
str1 = "this is string example....wow!!!"
print(str1.startswith('this'))      
print(str1.startswith('is', 2, 4))    
print(str1.startswith('his', 1, 3))  

True
True
False

是否是指定后綴——str.endswith(suffix, start, end)

# str.endswith(suffix, start, end),檢查字符串[start,end)以指定后綴結尾,是返回True,否則返回False
str1 = "this is string example....wow!!!"
str2 = "wow!!!"
print (str1.endswith(str2))        # True
print (str1.endswith(str2,20))      # True
str2 = "is"
print (str1.endswith(str2, 2, 4))   # True
print (str1.endswith(str2, 2, 6))   # False
print (str1.endswith(str2, 2, 7))   # True 

True
True
True
False
True

將字符串的第一個字母變成大寫,其他字母變小寫——str.capitalize()

str1 = "aBCd Efgh ijK LmN"
print(str1.capitalize())  # 將字符串的第一個字母變成大寫,其他字母變小寫 

Abcd efgh ijk lmn

轉換字符串中所有大寫字符為小寫,將字符串中的小寫字母轉為大寫字母——str.lower()、str.upper()

str1 = "aBCd Efgh ijK LmN"
print(str1.lower())   # 轉換字符串中所有大寫字符為小寫
print(str1.upper())  # 將字符串中的小寫字母轉為大寫字母

abcd efgh ijk lmn
ABCD EFGH IJK LMN

對字符串的大小寫字母進行轉換——str.swapcase()

str1 = "aBCd Efgh ijK LmN"
print(str1.swapcase())  # 對字符串的大小寫字母進行轉換

AbcD eFGH IJk lMn

返回字符串 str 中最小(大)的字母 ( ASCII碼比大小)——max(str)、min(str)

str1 = "aBCd Efgh ijK LmN"
print(max(str1))   # 返回字符串 str 中最大的字母
print(min(str1))   # 返回字符串 str 中最小的字母  此實例是空格最小 ASCII碼

m
? (空格最小)

把字符串的每個單詞首字母大寫——str.title()

str1 = "aBCd Efgh ijK LmN"
print(str1.title())   # 把字符串的每個單詞首字母大寫

Abcd Efgh Ijk Lmn

檢測字符串組成

檢測數字——str.isdigit()、str.isnumeric()、str.isdecimal()

str1 = "123456"
print(str1.isdigit())    # 檢測字符串是否只由數字組成
print(str1.isnumeric())  # 檢測字符串是否只由數字組成,這種方法是只針對unicode對象
print(str1.isdecimal())  # 檢查字符串是否只包含十進制字符。這種方法只存在于unicode對象

檢測字母——str.isalpha()

str1 = "abcd"
print(str1.isalpha())   # 檢測字符串是否只由字母組成

檢測字母和數字——str.isalnum()

str1 = "123456abcd"
print(str1.isalnum())   # 檢測字符串是否由字母和數字組成

檢測其他

str.isspace()   # 檢測字符串是否只由空格組成
str.islower()   # 檢測字符串是否由小寫字母組成
str.isupper()   # 檢測字符串中所有的字母是否都為大寫
str.istitle()   # 檢測字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫

這幾個就不舉例子了

填充字符串 (左填充、右填充、居中填充)——str.rjust(width)、str.rjust(width)、str.rjust(width)

str1 = "abcd"
print(str1.ljust(10))   # str.rjust(width)  返回一個原字符串左對齊,并使用空格填充至長度 width 的新字符串
print(str1.rjust(10))   # str.rjust(width)  返回一個原字符串右對齊,并使用空格填充至長度 width 的新字符串
print(str1.center(10))   # str.rjust(width)  返回一個原字符串居中,并使用空格填充至長度 width 的新字符串

abcd ? ? ?
? ? ? ?abcd
? ? abcd ? ?

把字符串分割成三部分,子字符串前的、子字符串、子字符串后的——str.partition(substr)、str.rpartition(substr)

str1 = "abcdefghijklmnabcdefghijklmn"
str2 = "efg"
print(str1.partition(str2))  # str.partition(substr) 返回一個3元的元組,第一個為分隔符左邊的子串,第二個為分隔符本身,第三個為分隔符右邊的子串。
print(str1.rpartition(str2))  #類似于 partition()函數,不過是從右邊開始

(‘abcd’, ‘efg’, ‘hijklmnabcdefghijklmn’)
(‘abcdefghijklmnabcd’, ‘efg’, ‘hijklmn’)

join函數

# str.join()方法用于將序列中的元素以指定的字符連接生成一個新的字符串。
str = '-'
seq = ("a", "b", "c"); # 字符串序列
print(str.join(seq))  # 'a-b-c'

a-b-c

總結

原文鏈接:https://wuyinzhiming.blog.csdn.net/article/details/108578161

欄目分類
最近更新