本文目錄一覽:
- 1、Python 基礎知識全篇-字元串(Strings)
- 2、python字元串操作
- 3、python 字元串提取信息方法總結
- 4、Python中字元串常用操作有哪些
- 5、Python處理字元串必備方法
Python 基礎知識全篇-字元串(Strings)
單引號和雙引號
字元串可以包含在單引號或雙引號中。
這種靈活的方式可以讓我們在字元串中包含引號。
當我們需要創建一個多行字元串的時候,可以用三個引號。如下所示:
改變大小寫
你可以很方便的改變字元串的大小寫。如下所示:
最常見的大小寫形式是全小寫(lower),首字母大寫(title)和全大寫(upper)。如下所示:
注意:初始字元串沒被改變。
你會經常見到這種用法。變數名後跟點和操作名稱,且後跟一組圓括弧。圓括弧里可能是空的,也可能包含一些數據。
variable_name.action()
在這個例子中, action 是一個 方法 的名字。 title , lower , upper 是內置在 Python 中的函數,可以作用於字元串的方法。
連接字元串
字元串連接示例如下所示:
加號連接兩個字元串。你可以使用任意個加號來連接字元串。
格式化字元串簡介
空白符
空白符通常指計算機能夠發現但不可見的字元。諸如空格,製表符,換行符等。
空格很容易創建,基本上在你擁有計算機的時候就會打出空格符。製表符和換行符是由特殊字元連接組成的。
“\t” 代表製表符,”\n” 代表換行符。你可以將它們添加進字元串的任意部分。
去除空白符
有時候我們想去除掉字元串開始或者結尾的空白符。Python 中有一些方法可以幫我們做到這點。如下所示:
lstrip 去除左側開端的空白符, rstrip 去除右端結尾的空白符, strip 去除兩端空白符。
看一個更清晰的例子,如下所示:
動手試一試
Someone Said
找一條自己喜歡的名言,存儲在變數。結合適當的介紹列印出來。例如:” Ken Thompson once said, ‘One of my most productive days was throwing away 1000 lines of code’ “。
First Name Cases
將你的姓存儲在一個變數中。
分別用 lowercase, Titlecase, UPPERCASE 三種方式列印姓。
Full Name
將你的名和姓存儲在不同的變數中,連接它們並列印。
Name Strip
將你的姓存儲在變數中。在姓的前後兩端至少各包含兩種空白符。
列印姓。
分別列印出去掉左側空白符,右側空白符,都去掉空白符的姓。
python字元串操作
字元串操作在各個計算機語言中都是比較常見的操作,下面我們對python的字元串操作做下簡單介紹。
一、索引操作
字元串是由一些連續的字元組成,支持索引操作,索引位置從0開始,比如以下代碼會輸出』P『字元:
二、截取子串
字元串也可以像列表那樣給定起始與終止索引生成一個新的子串,比如以下代碼會輸出「Py」:
三、連接操作
多個字元串相加會生成一個新串,比如以下代碼輸出」Love Python「:
四、大小寫轉換
調用字元串的upper與lower方法會分別生成新的大寫和小寫的字元串,比如以下代碼第一個輸出:」I LOVE PYTHON「,第二個輸出:」i love python「:
五、前後綴判斷
調用字元串的startswith與endswith方法可以判斷字元串是否以某個子串開關或者結尾,比如以下會分別列印出 」 python startswith py 「 和 」 python endswith on 「:
六、查找與替換子串
調用find方法可以判斷是否包含某個子串,比如以下代碼會輸出” python contains th” 和 ” python doesn’t contain he”:
調用replace方法可以對字元串進行替換,比如要把”hello world”中的」hello「替換為」world「,以下代碼會輸出:」world world「
七、分隔字元串
如果我們要把一句話按空格分隔為一個一個的單詞要怎麼做呢,這時調用split方法即可,比如以下代碼會把」hello world ni hao「轉換為[“hello”,”world”,”ni”,”hao”]:
八、清除前後字元
如果一個字元串前後有空白字元,我們需要去掉,你可以調用字元串的替換方法來做,但更簡單的做法是調用strip方法,比如以下代碼就會去掉兩端的空白字元輸出「hello python」:
九、大小寫對換
如果我們需要把字元串中的小寫轉換為大寫,大寫轉換為小寫,那要怎麼做呢,很簡單,調用下swapcase就可以了,如以下代碼會輸出「 heLLO pYThON 」:
十、字元分類判斷
有很多方法用來判斷一個字元串是否屬於某個分類,比如 isdigit判斷是否是數字,isalpha判斷是否是字母,isalnum判斷是否是字母數字等,如下代碼:
python 字元串提取信息方法總結
在日常項目中,我們經常會使用python從字元串中提取我們想要的信息,以下是各種提取信息方法的總結。
格式: str[beg:end:step]
描述: 字元串[開始索引:結束索引:步長]切取字元串為開始索引到結束索引-1內的字元串步長不指定時步長為1
舉例:
print(str[::2]) //::這裡表示整個字元串,每兩個位置提取一個
print(str[1:3]) //提取第2個到第3個
print(str[2::]) //截取2 – 末尾的字元
本小節介紹了,處理字元串經常用到的一些函數方法。
語法: str.find(str, beg=0, end=len(string))
描述: Python find() 方法檢測字元串中是否包含子字元串 str ,如果指定 beg(開始) 和 end(結束) 範圍,則檢查是否包含在指定範圍內,如果包含子字元串返回開始的索引值,否則返回-1。
語法: str.split(str=””, num=string.count(str)).
描述: Python split() 通過指定分隔符對字元串進行切片,如果參數 num 有指定值,則分隔 num+1 個子字元串.返回分割後的字元串列表,該方法可以講字元串轉化為列表處理。
另外的: str.splitlines([keepends])按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。
語法: str.partition(str)
描述: partition() 方法用來根據指定的分隔符將字元串進行分割。如果字元串包含指定的分隔符,則返回一個3元的元組,第一個為分隔符左邊的子串,第二個為分隔符本身,第三個為分隔符右邊的子串。
語法: str.replace(old, new, max)
描述: Python replace() 方法把字元串中的 old(舊字元串) 替換成 new(新字元串),如果指定第三個參數max,則替換不超過 max 次。
語法: str.strip([chars]);
描述: Python strip() 方法用於移除字元串頭尾指定的字元(默認為空格或換行符)或字元序列。:該方法只能刪除開頭或是結尾的字元,不能刪除中間部分的字元。
語法: str.join(sequence)
描述: Python join() 方法用於將序列中的元素以指定的字元連接生成一個新的字元串。
上述方法還有其變形,如str.rfind(),這代表從字元串右邊開始處理,正常是從左邊開始處理。下表是其它常用的python字元串自帶函數方法。
正則表達式是一個特殊的字元序列,它能幫助你方便的檢查一個字元串是否與某種模式匹配。本小節主要介紹Python中常用的正則表達式處理函數和正則表達式的書寫規則。
re 模塊使 Python 語言擁有全部的正則表達式功能。所以在python中使用正則表達式處理函數需要import re
語法: re.search(pattern, string, flags=0)
描述: re.search 掃描整個字元串並返回第一個成功的匹配。匹配成功re.search方法返回一個匹配的對象,否則返回None。
語法: re.sub(pattern, repl, string, count=0, flags=0)
描述: Python 的 re 模塊提供了re.sub用於替換字元串中的匹配項。
語法: pattern.findall(string, pos, endpos)
描述: 在字元串中找到正則表達式所匹配的所有子串,並返回一個列表,如果沒有找到匹配的,則返回空列表。注意: match 和 search 是匹配一次 findall 匹配所有。
模式字元串使用特殊的語法來表示一個正則表達式:
Python中字元串常用操作有哪些
字元串是 Python
中常用的數據類型,我們可以使用引號(‘或”)來創建字元串,對字元串進行使用和操作,需要用到特定的函數,以下是常用的Python字元串操作方法:
1. capitalize()
作用:capitalize() 主要是用來實現字元串首字母大寫,其他字母小寫的功能。
實例:
1
2str1 = “oldboy”
print(str1.capitalize())
輸出結果:Oldboy
2. swapcase()
作用:swapcase() 主要是用來實現字元串大小寫反轉。
實例:
1
2str1 = ” Oldboy”
print(str1.swapcase())
輸出結果:oLDBOY
3. title()
作用:title() 主要是用來實現字元串非字母隔開的部分,首字母大寫,其餘字母小寫。
實例:
1
2str1 = “Old boy edu com”
print(str1.title())
輸出結果:Old Boy Edu Com
4. upper()
作用:upper() 主要是用來實現字元串所有字母全部大寫。
實例:
1
2str1 = “Oldboyedu”
print(str1.upper())
輸出結果:OLDBOYEDU
5. lower()
作用:lower() 主要是用來實現字元串所有字母全部小寫。
實例:
1
2str1 = “oLDBOYEDU”
print(str1.lower())
輸出結果:oldboyedu
6. center()
作用:center() 主要是用來實現字元串內容居中,填充物默認為空。
實例:
1
2
3str1 = “Oldboyedu”
print(str1.center(15))
print(str1.center(15,”*”))
輸出結果:
Oldboyedu
***Oldboyedu***
7. find()
作用:find() 主要作用是通過元素找索引,可以整體找,可以切片,找不到則返回-1。
實例:
1
2
3str1 = “Oldboyedu”
print(str1.find(‘b’))
print(str1.find(‘A’))
輸出結果:3 -1
8. index()
作用:index() 主要作用是通過元素找索引,可以整體找,可以切片,找不到會報錯。
實例:
1
2
3str1 = ” Oldboyedu “
print(str1.index(“b”))
print(str1.index(“A”))
輸出結果:
Traceback (most recent call last):
File “”, line 1, in
ValueError: substring not found
9. startswith(obj)
作用:startswith(obj) 主要作用是檢查字元串是否是以 obj 開頭,是則返回 True,否則返回 False。
實例:
1
2str1 = “Oldboyedu”
print(str1.startswith(“O”))
輸出結果:True
10. endswith(obj)
作用:endswith(obj) 主要作用是檢查字元串是否是以 obj 開頭,是則返回 True,否則返回 False。
實例:
1
2str1 = ” Oldboyedu “
print(str1.endswith(“edu”))
輸出結果:True
11. strip()
作用:strip() 主要作用是去除字元串前後兩端的空格或其他字元、換行符、tab鍵等。
實例:
1
2
3
4str1 = “***Oldboy***”
print(str1.strip(“*”)) #去除兩邊的*
print(str1.lstrip(“*”)) #去除左邊的*
print(str1.rstrip(“*”)) #去除右邊的*
輸出結果:
Oldboy
Oldboy***
***Oldboy
12. replace(oldstr, newstr)
作用:replace(oldstr, newstr)主要作用是替換字元串。
實例:
1
2str1 = “Oldboyedu”
print(str1.replace(“boy”,”man”))
輸出結果:Oldmanedu
13. isalpha()
作用:isalpha()主要作用是要判斷字元串是否只由字母組成,是返回Ture,否返回False。
實例:
1
2
3
4str1 = “Oldboyedu”
str2 = 「Old boy edu」
print(str1.isalpha())
print(str2.isalpha())
輸出結果:True False
14. isdigit()
作用:isdigit()主要作用是判斷字元串是否只由數字組成,是返回Ture,否返回False。
實例:
1
2
3
4str1 = “Oldboyedu”
str2 = 「520」
print(str1.isdigit())
print(str2.isdigit())
輸出結果:False True
15. format()
作用:format()主要作用是格式化字元串。
方式一:按位置傳參
1
2str1 = ‘我叫{},今年{}歲’.format(‘oldboy’,30)
print(str1)
輸出結果:我叫oldboy,今年30歲
方式二:按索引傳參
1
2str1 = ‘我叫{0},今年{1}歲’.format(‘oldboy’,30)
print(str1)
輸出結果:我叫oldboy,今年30歲
方式三:按key傳參
1
2str1 = ‘我叫{name},今年{age}歲’.format(age=30,name=’oldboy’)
print(str1)
輸出結果:我叫oldboy,今年30歲
16. count()
作用:count()主要作用是統計元素在字元串出現的次數。
1
2str1 = “oldboyedu”
print(str1.count(『o』)) #統計字元o在字元串中出現的次數
數據結果:2
Python處理字元串必備方法
字元串是Python中基本的數據類型,幾乎在每個Python程序中都會使用到它。
▍1、Slicing
slicing切片,按照一定條件從列表或者元組中取出部分元素(比如特定範圍、索引、分割值)
▍2、****strip()
strip()方法用於移除字元串頭尾指定的字元(默認為空格或換行符)或字元序列。
在使用strip()方法時,默認去除空格或換行符,所以#號並沒有去除。
可以給strip()方法添加指定字元,如下所示。
此外當指定內容不在頭尾處時,並不會被去除。
第一個\n前有個空格,所以只會去取尾部的換行符。
最後strip()方法的參數是剝離其值的所有組合,這個可以看下面這個案例。
最外層的首字元和尾字元參數值將從字元串中剝離。字元從前端移除,直到到達一個不包含在字符集中的字元串字元為止。
在尾部也會發生類似的動作。
▍3、****lstrip()
移除字元串左側指定的字元(默認為空格或換行符)或字元序列。
同樣的,可以移除左側所有包含在字符集中的字元串。
▍4、rstrip()
移除字元串右側指定的字元(默認為空格或換行符)或字元序列。
▍5、****removeprefix()
Python3.9中移除前綴的函數。
和strip()相比,並不會把字符集中的字元串進行逐個匹配。
▍6、removesuffix()
Python3.9中移除後綴的函數。
▍7、****replace()
把字元串中的內容替換成指定的內容。
▍8、****re.sub()
re是正則的表達式,sub是substitute表示替換。
re.sub則是相對複雜點的替換。
和replace()做對比,使用re.sub()進行替換操作,確實更高級點。
▍9、****split()
對字元串做分隔處理,最終的結果是一個列表。
當不指定分隔符時,默認按空格分隔。
此外,還可以指定字元串的分隔次數。
▍10、****rsplit()
從右側開始對字元串進行分隔。
▍11、****join()
string.join(seq)。以string作為分隔符,將seq中所有的元素(的字元串表示)合併為一個新的字元串。
▍12、****upper()
將字元串中的字母,全部轉換為大寫。
▍13、****lower()
將字元串中的字母,全部轉換為小寫。
▍14、capitalize()
將字元串中的首個字母轉換為大寫。
▍15、****islower()
判斷字元串中的所有字母是否都為小寫,是則返回True,否則返回False。
▍16、isupper()
判斷字元串中的所有字母是否都為大寫,是則返回True,否則返回False。
▍17、****isalpha()
如果字元串至少有一個字元並且所有字元都是字母,則返回 True,否則返回 False。
▍18、isnumeric()
如果字元串中只包含數字字元,則返回 True,否則返回 False。
▍19、isalnum()
如果字元串中至少有一個字元並且所有字元都是字母或數字,則返回True,否則返回 False。
▍20、count()
返回指定內容在字元串中出現的次數。
▍21、****find()
檢測指定內容是否包含在字元串中,如果是返回開始的索引值,否則返回-1。
此外,還可以指定開始的範圍。
▍22、rfind()
類似於find()函數,返回字元串最後一次出現的位置,如果沒有匹配項則返回 -1。
▍23、startswith()
檢查字元串是否是以指定內容開頭,是則返回 True,否則返回 False。
**
**
▍24、****endswith()
檢查字元串是否是以指定內容結束,是則返回 True,否則返回 False。
▍25、****partition()
string.partition(str),有點像find()和split()的結合體。
從str出現的第一個位置起,把字元串string分成一個3 元素的元組(string_pre_str,str,string_post_str),如果string中不包含str則 string_pre_str==string。
▍26、center()
返回一個原字元串居中,並使用空格填充至長度width的新字元串。
▍27、ljust()
返回一個原字元串左對齊,並使用空格填充至長度width的新字元串。
▍28、rjust()
返回一個原字元串右對齊,並使用空格填充至長度width的新字元串。
▍29、f-Strings
f-string是格式化字元串的新語法。
與其他格式化方式相比,它們不僅更易讀,更簡潔,不易出錯,而且速度更快!
▍30、swapcase()
翻轉字元串中的字母大小寫。
▍31、zfill()
string.zfill(width)。
返回長度為width的字元串,原字元串string右對齊,前面填充0。
參考文獻:
原創文章,作者:YDYCY,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/324448.html