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

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

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

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

切片——str[start:end]

str1 = ' python str '
#切片
print(str1[3:6])   # str[start:end](下標(biāo)從 0 開始)從下標(biāo)為start開始算起,切取到下標(biāo)為 end-1 的元素,切取的區(qū)間為 [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

重復(fù)字符串 ——1、str * n,2、n * str

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

python str python str
python str python str python str

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

1、in 關(guān)鍵字

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

True
True
False

2、find函數(shù)

# 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函數(shù)

# 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/深度學(xué)習(xí)入門/main.py”, line 27, in
print(str1.index(str2, 5))
ValueError: substring not found

4、rfind函數(shù)

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

5、rindex函數(shù)

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

字符串中某字符(子字符串)的數(shù)量——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())    # 去左側(cè)空格
print (str1.rstrip())    # 去右側(cè)空格

結(jié)果:

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

str1 = '1 , 2 , 3 , 4 , 5'
print (str1.split())      # 默認(rèn)使用空格分隔
print (str1.split(' '))    # 指定使用空格進(jìn)行分隔,首尾如果有空格,則會出現(xiàn)在結(jié)果中
print (str1.split(','))    # 指定其他字符串進(jìn)行分隔,指定,分割
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(','))    # 指定其他字符串進(jìn)行分隔,指定,分割
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(新字符串),如果指定第三個參數(shù)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

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

是否是指定前綴——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)以指定后綴結(jié)尾,是返回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

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

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

abcd efgh ijk lmn
ABCD EFGH IJK LMN

對字符串的大小寫字母進(jìn)行轉(zhuǎn)換——str.swapcase()

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

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

檢測字符串組成

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

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

檢測字母——str.isalpha()

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

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

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

檢測其他

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()函數(shù),不過是從右邊開始

(‘a(chǎn)bcd’, ‘efg’, ‘hijklmnabcdefghijklmn’)
(‘a(chǎn)bcdefghijklmnabcd’, ‘efg’, ‘hijklmn’)

join函數(shù)

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

a-b-c

總結(jié)

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

欄目分類
最近更新