Ⅰ 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字元串(特殊字元,取值,常用方法)
1.字元串
特殊字元串
\n:換行
\r:刪除\r前面的字元
\t:製表符
例如:
s_1 = "人生苦短,\n我選Python!"
s_2 = "人生苦短,\r我選Python!"
s_3 = "人生苦短,\t我選Python!"
print(s_1) # 人生苦短,
print(s_2) # 我選Python
print(s_3) # 人生苦短, 我選Python!
遇到特殊字元,想去掉效果,把特殊字元轉成普通字元
可以使用# r R
s_1 =r "人生苦短,\n我選Python!"
s_2 =R "人生苦短,\r我選Python!"
s_3 = "人生苦短,\t我選Python!"
2.字元串取值
特點:取頭不取尾,正序從0開始,倒序從-1開始
[start:end:step] #step:表示間隔
s='hello python lemon'
print(s[6:12:1]) #正序 python 6,7,8,9,10,11
print(s[-12:-6:1]) # 倒序 python -12,-11,-10,-9,-8,-7
print(s[:])#hello python lemon 從頭取到尾 [:]
print(s[6:]) #python lemon 從6取到尾 [start:]
print(s[:17])# [:end] 從開始取到16
獲取s所有的偶數位的字母
print(s[0:17:2])
獲取s所有的奇數位的字母
print(s[1:18:2])
倒序輸出所有的字母
print(s[17::-1]) # 不可以寫出是s[17:-1:-1] or s[17:0:-1]
3.常用方法
find() : 返回-1表示未找到子字元串,找到會返回對應字元的索引,子字元包含單個字元或多個字元
isdigit():判斷是否全部是數字,是返回True,否返回False
replace(要替換的內容:替換的內容:替換的次數):指定替換內容以及被替換的字元串,並可以指定替換次數,默認是全部替換
split(指定字元,指定切割的次數):根據指定字元對字元串進行切割,默認全部切割
strip():去掉頭和尾指定的字元
upper():字元串的字母轉成大寫
lower():字元串的字母轉成小寫
swapcase():字元串的字母大小互換
例如:
s='learn python in lemon'
print(s.find('n')) #返回找到字元串的索引
print(s.find(python))#返回找到的子字元串的第一個索引值--6
print(s.find('k')) # 返回-1
print(s.find('o',11))#從索引值為11的值開始找---19
print(s.isdigit())# 返回False
s1 = "******learn python*****"
print(s.strip("*"))# learn python
Ⅲ Python中檢索字元串的方法有哪些呢
你還可以用更靈活的 regular 正則式
search()和match(),用起來更靈活
import re
str = "Welcome to my world. I have 12 apples."
if re.search(r"world", str).group() != "" :
print("match! ")
str = "abcABC"
if re.match(r"[a-zA-Z]+", str):
print("match! ", re.search(r"[A-Z]+", str).group())
else:
print("ummatch! ")
Ⅳ python中提供了哪幾種通過正則表達式匹配字元串的方法有哪
python中提供了3種通過正則表達式匹配字元串的方法。種通過正則表達式匹配字元串的方法有以下三種。
1、貪婪匹配與非貪婪匹配:在定義用於匹配的模式串時,使用.*,則為貪婪匹配。使用.*,則為非貪婪匹配。
2、indall與search的選取問題:自己定義的模式串只能匹配到一個結果,使用search方法結合group方法可以直接得到這個字元串。自己定義的模式串能匹配到多個結果,則使用findall方法可以得到存儲多個結果字元串的列表。
3、匹配時"()"和[]的用法:目標字元串『abcde』[…]會匹配在[]內的任意一個字元,而不會匹配整個字元串。(…)會匹配在()內的整個字元串。使用search方法時則正常匹配(相當於沒有()),使用findall方法時則只會匹配(…)的內容。)[]同時出現,考慮(…)式的字元串與[…]式內的字元和順序,使用findall方法時結果會舍棄[…]內容,使用search方法時則正常匹配(相當於沒有()和[])。
Ⅳ Python數據分析筆記#7.3.1 字元串對象方法
「目錄」
數據清洗和准備
Data Cleaning and Prepration
--------> 字元串對象方法
字元串對象方法
Python能夠成為流行的數據處理語言的部分原因是其易於處理字元串和文本。大部分文本運算都直接做成了字元串對象的內置方法。
split方法可以 通過指定分隔符對字元串進行切片 。
例如,以逗號分割的字元串可以用split拆分成數段:
strip可以 去除字元串頭尾指定的字元 ,默認是空白符或換行符。
strip常常與split一起使用:
利用 加法可以將字元串連接起來 :
但這種方式並不實用,畢竟字元串多了就很麻煩。一種更快 更符合Python風格的方式是是使用join方法 ,我們向join方法中傳入一個列表或元組:
檢測子串的最佳方法是利用Python的in關鍵字,還可以使用index和find。
index和find會 查找指定值的首次出現的位置 。
find和index的區別是:若找不到字元串,index將會引發一個 異常 ,find則會返回 -1 :
count可以 返回指定字串的出現次數
replace用於將 指定模式替換為另一個模式 (replace will substitute occurrences of one pattern for another)
再記錄幾個Python內置的字元串方法吧。
startswith和endswith: 若字元串以某個前綴(後綴)開頭,則返回True :
lower和uppe: 分別將字母字元轉換為小寫或大寫 。
ljust和rjust: 用空格(或其他字元)填充字元串的空白側以返回符合最低寬度的字元串 。
這章終於還剩兩節就結束了。
-END-
Ⅵ Python中漢字和變數拼接輸出的8種方法(字元串拼接)
方法1:使用加號「+」連接字元串
最常用的連接字元串的方式是用加號「+」連接兩個字元串,連接後這兩個字元串將連接成一個字元串。但需注意的是,不能用「+」連接字元串和數字,需要把數字使用str()函數轉換成字元串,或者直接在數字兩側加帶引號,再進行連接,示例如下:
該方法性能差,盡量少用,因為 Python 中字元串是不可變類型,使用「+」號連接相當於生成一個新的字元串,需要重新申請內存,當用「+」號連接非常多的字元串時,將會很耗費內存,可能造成內存溢出。
方法2:使用逗號連接字元串
方法3:通過「%」連接字元串
借鑒C語言中的 printf 函數功能,使用%號連接一個字元串和一組變數,字元串中的特殊標記會被自動使用右邊變數組中的變數替換。
註:其中%s是佔位符。
方法4:通過str.format()方法拼接
通過這種方式拼接字元串需要注意的是字元串中{}的數量要和format方法參數數量一致,否則會報錯。
方法5:通過f-strings拼接
在python3.6.2版本中,PEP 498 提出一種新型字元串格式化機制,被稱為「字元串插值」或者更常見的一種稱呼是f-strings,f-strings提供了一種明確且方便的方式將python表達式嵌入到字元串中來進行格式化:
方法6:通過str.join()方法拼接
這種方式一般常使用在將集合轉化為字元串,」.join()其中」可以是空字元,也可以是任意其他字元,當是任意其他字元時,集合中字元串會被該字元隔開,例如:
輸出
我最喜歡的數字是-8
方法7:通過()多行拼接
python遇到未閉合的小括弧,自動將多行拼接為一行。
方法8:通過string模塊中的Template對象拼接
Template的實現方式是首先通過Template初始化一個字元串。這些字元串中包含了一個個key。通過調用substitute或safe_subsititute,將key值與方法中傳遞過來的參數對應上,從而實現在指定的位置導入字元串。
總結
格式化類:%、format()、 template
拼接類:+、()、join()、逗號
插值類: f-strings
當要處理字元串列表等序列結構時,彩用join()方式;拼接長度不超過20時,選用+號操作符方式;長度超過20的情況,高版本選用f-string,低版本看情況使用format()或join()方式。
Ⅶ 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 proctive days was throwing away 1000 lines of code' "。
First Name Cases
將你的姓存儲在一個變數中。
分別用 lowercase, Titlecase, UPPERCASE 三種方式列印姓。
Full Name
將你的名和姓存儲在不同的變數中,連接它們並列印。
Name Strip
將你的姓存儲在變數中。在姓的前後兩端至少各包含兩種空白符。
列印姓。
分別列印出去掉左側空白符,右側空白符,都去掉空白符的姓。
Ⅷ 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 e com"
print(str1.title())
輸出結果:Old Boy E Com
4. upper()
作用:upper() 主要是用來實現字元串所有字母全部大寫。
實例:
1
2str1 = "Oldboye"
print(str1.upper())
輸出結果:OLDBOYEDU
5. lower()
作用:lower() 主要是用來實現字元串所有字母全部小寫。
實例:
1
2str1 = "oLDBOYEDU"
print(str1.lower())
輸出結果:oldboye
6. center()
作用:center() 主要是用來實現字元串內容居中,填充物默認為空。
實例:
1
2
3str1 = "Oldboye"
print(str1.center(15))
print(str1.center(15,"*"))
輸出結果:
Oldboye
***Oldboye***
7. find()
作用:find() 主要作用是通過元素找索引,可以整體找,可以切片,找不到則返回-1。
實例:
1
2
3str1 = "Oldboye"
print(str1.find('b'))
print(str1.find('A'))
輸出結果:3 -1
8. index()
作用:index() 主要作用是通過元素找索引,可以整體找,可以切片,找不到會報錯。
實例:
1
2
3str1 = " Oldboye "
print(str1.index("b"))
print(str1.index("A"))
輸出結果:
0
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
9. startswith(obj)
作用:startswith(obj) 主要作用是檢查字元串是否是以 obj 開頭,是則返回 True,否則返回 False。
實例:
1
2str1 = "Oldboye"
print(str1.startswith("O"))
輸出結果:True
10. endswith(obj)
作用:endswith(obj) 主要作用是檢查字元串是否是以 obj 開頭,是則返回 True,否則返回 False。
實例:
1
2str1 = " Oldboye "
print(str1.endswith("e"))
輸出結果: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 = "Oldboye"
print(str1.replace("boy","man"))
輸出結果:Oldmane
13. isalpha()
作用:isalpha()主要作用是要判斷字元串是否只由字母組成,是返回Ture,否返回False。
實例:
1
2
3
4str1 = "Oldboye"
str2 = 「Old boy e」
print(str1.isalpha())
print(str2.isalpha())
輸出結果:True False
14. isdigit()
作用:isdigit()主要作用是判斷字元串是否只由數字組成,是返回Ture,否返回False。
實例:
1
2
3
4str1 = "Oldboye"
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 = "oldboye"
print(str1.count(『o』)) #統計字元o在字元串中出現的次數
數據結果:2
Ⅸ 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])按照行(' ', ' ', ')分隔,返回一個包含各行作為元素的列表,如果參數 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字元串常用方法
1. Python字元串拼接(包含字元串拼接數字)
2. Python截取字元串(字元串切片)
3. Python 的len()函數:獲取字元串長度或位元組數
4. Python split()方法:分割字元串
5. Python join()方法:合並字元串
6. Python count()方法:統計字元串出現的次數
7. Python find()方法:檢測字元串中是否包含某子串
8. Python index()方法:檢測字元串中是否包含某子串
9. Python字元串對齊方法(ljust()、rjust()和center())
10. Python startswith()和endswith()方法
11. Python字元串大小寫轉換(3種)函數
12. Python去除字元串中空格(刪除指定字元)的3種方法