Python字串拼接,擷取,查詢,替換

2021-10-04 10:36:10 字數 3851 閱讀 5119

熟練掌握字串操作可以使我們的開發效率更高,接下來總結一下python字串的操作

1.字串拼接,直接用加號即可,

string1 = "today is "

string2 = "a sunny day"

string = string1 + string2 + '!'

print(string)

列印結果:today is a sunny day!

2.字串列表,可使用  ''.join(iterable) 拼接

strings = ['today', 'is', 'a', 'sunny','day']

newstr = ' '.join(strings)

print(newstr)

同樣列印:today is a sunny day

這裡引號中的內容為乙個空格,可以替換成成其他任何字元或字串,如' , '   ' : '

1.擷取:

(1)使用 字串[開始索引:結束索引:步長]

string = '0123456789'

print(string[0:3]) # 使用順序索引,擷取頭三個字元

>>012

print(string[-5:]) #使用倒序索引,擷取後五個字元

>>56789

print(string[::2]) #忽略下標,即從開始到結尾,以2為步長擷取

>>02468

newstr = string[::-1] #這樣子可以實現字串倒序

print(newstr)

>>9876543210

>>表示輸出結果 

(2)還有一種專門去頭去尾的擷取 def strip(chars: optional[str]=...)

string = '    useful string   '

print(string.strip())

>>useful string

string2 = '###useful string###'

print(string2.strip('#'))

>>useful string

2.分割:

(1)str.split('分割標示符號')

string = '1,2,3,4'

strlist = string.split(',')

print(strlist)

>>['1', '2', '3', '4']

(2)splitlines(keepends: bool=...) 返回字元列表

這個函式相當於 string.split('\n')

string = 'first line \n second line'

print(string.splitlines())

>>['first line ', ' second line']

string = 'first line \n second line'

print(string.splitlines(keepends=true))

>>['first line \n', ' second line']

1.查詢、統計

def count(x: text, start: optional[int]=..., end: optional[int]=...) ->int 返回個數

def find(sub: text, start: optional[int]=..., end: optional[int]=...)->int 返回下標

string = '1,1,2,1,3,4'

print(string.count('1'))

>>3

print(string.find('2'))

>>4

#find函式也可以直接用string.index()代替

#不同的是index找不到會報錯,find()是返回-1

print(string.index('2'))

>>4

print(string.startswith(('1','2','3'), 2)) #檢視第乙個string元素是否是給出元組中的元素

>>true

print(string.startswith(('4'))) #除了startswith, 還有endswith()

>>false

其實string類還有rfind(『char』)函式,返回從後面數起char的第一次出現的下標,

r是reverse的縮寫,表示從後面開始,類似的還有rstripe()只去掉後面的空格,rsplit()從後面開始分割, rindex()返回最大     的下標

2.替換 def replace(old: str, new: str, count: int=...) ->string

count可以預設,default=-1,替換所有的舊字串

string = 'abc abc def'

print(string.replace('abc', 'aaa', 1))

>>aaa abc def

1.大小寫轉換

2.encode和decode

3.型別判斷

#大小寫轉換

print('abcd'.capitalize())

>>abcd

print('abcd'.upper())

>>abcd

print('abcd'.lower())

>>abcd

#encode and decode

string = '我愛北京天安門'

temp = string.encode('gbk')

string2 = temp.decode('gbk')

#判斷字串型別

string = '123'

print(string.isascii()) #是否是ascii編碼的值

>>true

print(string.isalnum()) #是否是字母或者數字

>>true

print(string.isdecimal())

>>true

print(string.isnumeric())

>>true

print(string.isdigit())

>>true

後三個函式的區別:

isdigit()

true: unicode數字,byte數字(單位元組),全形數字(雙位元組),羅馬數字

false: 漢字數字

error: 無

isdecimal()

true: unicode數字,,全形數字(雙位元組)

false: 羅馬數字,漢字數字

error: byte數字(單位元組)

isnumeric()

true: unicode數字,全形數字(雙位元組),羅馬數字,漢字數字

false: 無

error: byte數字(單位元組)

擷取 拼接字串,memcpy

1.擷取字串 includeint main 輸出結果 view2.填充字串 取得當前目錄下的檔案個數 include include include include include define maxline 1024 define res max 10240 int main int rc 0...

mysql 字串 拼接 擷取 替換

concat asdf str 說明 拼接asdf 和 str left str,length 說明 left 被擷取字段,擷取長度 例 select left content,200 as abstract from tablename right str,length 說明 right 被擷取字...

Mysql字串拼接 擷取 替換

concat asdf str 說明 拼接asdf 和 str left str,length 說明 left 被擷取字段,擷取長度 例 select left content,200 as abstract from tablename right str,length 說明 right 被擷取字...