python123查找指定字符输入m_大数据应用人才培养系列教材 Python语言 刘 鹏 张 燕 总主编 李肖俊 主编 刘 河 钟 涛 副主编....
Presentation on theme: "大數(shù)據(jù)應用人才培養(yǎng)系列教材 Python語言 劉 鵬 張 燕 總主編 李肖俊 主編 劉 河 鐘 濤 副主編."— Presentation transcript:
大數(shù)據(jù)應用人才培養(yǎng)系列教材 Python語言 劉 鵬 張 燕 總主編 李肖俊 主編 劉 河 鐘 濤 副主編
第五章 字符串與正則表達式 5.1 字符串基礎 5.2 字符串方法 5.3 正則表達式 5.4 實驗 5.5 小結 習題
5.1 字符串基礎 第五章 字符串與正則表達式 字符串常用的表示方式 1、字符串中的字符可以是ASCII字符也可以是其他各種符號。 2、它常用英文狀態(tài)下的單引號(’ ’)、雙引號(” ”)或者三單引號 (’’’ ’’’)、三雙引號(””” ”””)進行表示。
5.1 字符串基礎 第五章 字符串與正則表達式 轉義字符 字符串中還有一種特殊的字符叫做轉義字符,轉義字符通常用于不能夠直接輸入的各 種特殊字符。Python常用轉義字符如表5.1所示: 轉義字符 說明 \\ 反斜線 \’ 單引號 \’’ 雙引號 \a 響鈴符 \b 退格符 \f 換頁符 \n 換行符 \r 回車符 \t 水平制表符 \v 垂直制表符 \0 Null,空字符串 \000 以八進制表示的ASCII碼對應符 \xhh 以十六進制表示的ASCII碼對應符 表5.1用的轉義字符
5.1 字符串基礎 第五章 字符串與正則表達式 字符串的基礎操作包括。求字符串的長度、字符串的連接、字符串的遍歷、字 符串的包含判斷、字符串的索引和切片等。 1、求字符串的長度 字符串的長度是指字符數(shù)組的長度,又可以理解為字符串中的字符個 數(shù)(空格也算字符),可以用len()函數(shù)查看字符串的長度。如: >>> sample_str1 = 'Jack loves Python' >>> print(len(sample_str1)) #查看字符串長度 運行結果如下: 17
5.1 字符串基礎 第五章 字符串與正則表達式 2、字符串的連接 字符串的連接是指將多個字符串連接在一起組成一個新的字符串。例如: >>> sample_str2 = 'Jack', 'is', 'a', 'Python', 'fan' #字符串用逗號隔開,組 成元組 >>> print('sample_str2:' , sample_str2 , type(sample_str2)) 運行結果如下: sample_str2: ('Jack', 'is', 'a', 'Python', 'fan') 當字符串之間沒有任何連接符時,這些字符串會直接連接在一起,組成 新的字符串。 >>> sample_str3 = 'Jack''is''a''Python''fan' #字符串間無連接符,默認合 并 >>> print('sample_str3: ' , sample_str3) sample_str3: JackisaPythonfan
5.1 字符串基礎 第五章 字符串與正則表達式 字符串之間用’+’號連接時,也會出現(xiàn)同樣的效果,這些字符串將連接在一起,組成一 個新的字符串。 >>> sample_str4 = 'Jack' + 'is' + 'a' + 'Python' + 'fan' #字符串’+’連接,默認合并 >>> print('sample_str4: ' , sample_str4) 運行結果如下: sample_str4: JackisaPythonfan 用字符串與正整數(shù)進行乘法運算時,相當于創(chuàng)建對應次數(shù)的字符串,最后組成一個新 的字符串。 >>> sample_str5 = 'Jack'*3 #重復創(chuàng)建相應的字符串 >>> print('sample_str5: ', sample_str5) sample_str5: JackJackJack 注意:字符串直接以空格隔開的時候,該字符串會組成元組類型。
5.1 字符串基礎 第五章 字符串與正則表達式 3、字符串的遍歷 通常使用for循環(huán)對字符串進行遍歷。例如: >>> sample_str6 = 'Python' #遍歷字符串 >>> for a in sample_str6: print(a) 運行結果如下: P y t h o n 其中變量a,每次循環(huán)按順序代指字符串里面的一個字符。
5.1 字符串基礎 第五章 字符串與正則表達式 4、字符串的包含判斷 字符串是字符的有序集合,因此用in操作來判斷指定的字符是否存在 包含關系。如: >>> sample_str7 = 'Python' >>> print('a' in sample_str7) #字符串中不存在包含關系 >>> print('Py' in sample_str7) #字符串中存在包含關系 運行結果如下: False True
5.1 字符串基礎 第五章 字符串與正則表達式 5、索引和切片 字符串是一個有序集合,因此可以通過偏移量實現(xiàn)索引和切片的操作。在字符 串中字符從左到右的字符索引依次為0, 1, 2, 3,。。。, len()-1,字符從右到左 的索引依次為-1, -2, -3,。。。, -len()。索引其實簡單來說是指字符串的排列順 序,可以通過索引來查找該順序上的字符。例如: >>> sample_str8 = 'Python' >>> print(sample_str8[0]) #字符串對應的第一個字符 >>> print(sample_str8[1]) #字符串對應的第二個字符 >>> print(sample_str8[-1]) #字符串對應的最后一個字符 >>> print(sample_str8[-2]) #字符串對應的倒數(shù)第二個字符 運行結果如下: P y n o
5.1 字符串基礎 第五章 字符串與正則表達式 注意:雖然索引可以獲得該順序上的字符,但是不能夠通過該索引去修改對應的字符。例如: >>> sample_str8[0] = 'b' #修改字符串的第一個字符 Traceback (most recent call last): #系統(tǒng)正常報錯 File "", line 9, in sample_str8[0] = 'b' TypeError: 'str' object does not support item assignment 切片,也叫分片,和元組與列表相似,是指從某一個索引范圍中獲取連續(xù)的多個字符(又稱為子 字符)。常用格式如下: stringname[start:end] 這里的stringname是指被切片的字符串,start和end分別指開始和結束時字符的索引,其中切片的 最后一個字符的索引是end-1,這里有一個訣竅叫:包左不包右。例如: >>> sample_str9 = 'abcdefghijkl' >>> print(sample_str9[0:4]) #獲取索引為0-4之間的字符串,從索引0開始到3為止,不包括索引 為4的字符 運行結果如下: abcd
5.1 字符串基礎 第五章 字符串與正則表達式 若不指定起始切片的索引位置,默認是從0開始;若不指定結束切片的順序,默認是字符串的長度 -1。例如: >>> sample_str10 = 'abcdefg' >>> print("起始不指定", sample_str10[:3]) #獲取索引為0-3之間的字符串,不包括3 >>> print("結束不指定", sample_str10[3:]) # 從索引3到最后一個字符,不包括len 運行結果如下: 起始不指定 abc 結束不指定 defg 默認切片的字符串是連續(xù)的,但是也可以通過指定步進數(shù)(step)來跳過中間的字符,其中默認 的step是1。例如指定步進數(shù)為2: >>> sample_str11 = ' ' >>> print('跳2個字符', sample_str11[1:7:2]) #索引1~7,每2個字符截取 跳2個字符 135
5.1 字符串基礎 第五章 字符串與正則表達式 字符串格式化方法 想要進行字符串格式化可以使用format()方法。例如: >>> print('My name is {0}, and I am {1} '.format('Jack', 9)) #函數(shù)格式化 運行結果如下: My name is Jack, and I am 9
5.1 字符串基礎 字符串常見的格式化符號如表5. 2 表5.2 Python格式控制符號 %s
第五章 字符串與正則表達式 字符串常見的格式化符號如表5. 2 格式控制符 說明 %s 字符串(采用str()的顯示)或其他任何對象 %r 與%s相似(采用repr()的顯示) %c 單個字符 %b 參數(shù)轉換成二進制整數(shù) %d 參數(shù)轉換成十進制整數(shù) %i %o 參數(shù)轉換成八進制整數(shù) %u %x 參數(shù)轉換成十六進制整數(shù),字母小寫 %X 參數(shù)轉換成十六進制整數(shù),字母大寫 %e.E 按科學計數(shù)法格式轉換成浮點數(shù) %f.F 按定點小數(shù)格式轉換成浮點數(shù) %g.G 按定點小數(shù)格式轉換成浮點數(shù),與%f.F不同 表5.2 Python格式控制符號
5.1 字符串基礎 第五章 字符串與正則表達式 字符串的格式化通常有兩種方式,除了之前提到的用函數(shù)的形式進行格式化以外,還 可以用字符串格式化表達式來進行格式,常用%進行表示,其中%前面是需要格式化 的字符串,而%后面就是需要填充的實際參數(shù),這個實際參數(shù)其本質就是元組。%也 可以理解為占位符。例如: >>> print('My name is %s, and I am %d'%('Jack', 9)) #表達式格式化 運行結果如下: My name is Jack, and I am 9 注意:如果想要將后面填充的浮點數(shù)保留兩位小數(shù),可以用%f2表示,同時會 對第三位小數(shù)進行四舍五入。例如: >>> print('你花了%.2f元錢'%( )) #浮點數(shù)保留兩個小數(shù) 你花了20.46元錢
5.1 字符串基礎 第五章 字符串與正則表達式 字符串的格式化通常有兩種方式,除了之前提到的用函數(shù)的形式進行格式化以外,還 可以用字符串格式化表達式來進行格式,常用%進行表示,其中%前面是需要格式化 的字符串,而%后面就是需要填充的實際參數(shù),這個實際參數(shù)其本質就是元組。%也 可以理解為占位符。例如: >>> print('My name is %s, and I am %d'%('Jack', 9)) #表達式格式化 運行結果如下: My name is Jack, and I am 9 注意:如果想要將后面填充的浮點數(shù)保留兩位小數(shù),可以用%f2表示,同時會 對第三位小數(shù)進行四舍五入。例如: >>> print('你花了%.2f元錢'%( )) #浮點數(shù)保留兩個小數(shù) 你花了20.46元錢
第五章 字符串與正則表達式 5.1 字符串基礎 5.2 字符串方法 5.3 正則表達式 5.4 實驗 5.5 小結 習題
5.2 字符串方法 1.str.strip([chars])
第五章 字符串與正則表達式 字符串是str類型對象,所以Python內(nèi)置了一系列操作字符串的方法。其中常 用的方法如下: 1.str.strip([chars]) 若方法里面的chars不指定默認去掉字符串的首、尾空格或者換行 符,但是如果指定了chars,那么會刪除首尾的chars例如: >>> sample_fun1 = ' Hello world^#' >>> print(sample_fun1.strip()) #默認去掉首尾空格 >>> print(sample_fun1.strip('#')) #指定首尾需要刪除的字符 >>> print(sample_fun1.strip('^#')) 運行結果如下: Hello world^# Hello world^ Hello world
5.2 字符串方法 第五章 字符串與正則表達式 2.str.count('chars',start,end) 統(tǒng)計chars字符串或者字符在str中出現(xiàn)的次數(shù),從start順序開始查找 一直到end順序范圍結束,默認是從順序0開始。例如: >>> sample_fun2 = 'abcdabfabbcd' >>> print(sample_fun2.count('ab',2,9)) #統(tǒng)計字符串出現(xiàn)的次數(shù) 運行結果如下: 2
5.2 字符串方法 4.str.replace(oldstr, newstr,count) 3.str. capitalize()
第五章 字符串與正則表達式 3.str. capitalize() 將字符串的首字母大寫。例如: >>> sample_fun3 = 'abc' >>> print(sample_fun3.capitalize()) #首字母大寫 運行結果如下: Abc 4.str.replace(oldstr, newstr,count) 用舊的子字符串替換新的子字符串,若不指定count默認全部替換。例如: >>> sample_fun4 = 'ab12cd3412cd' >>> print(sample_fun4.replace('12','21')) #不指定替換次數(shù)count >>> print(sample_fun4.replace('12','21',1)) #指定替換次數(shù)count ab21cd3421cd ab21cd3412cd
5.2 字符串方法 第五章 字符串與正則表達式 5.str.find('str',start,end) 查找并返回子字符在start到end范圍內(nèi)的順序,默認范圍是從父字符 串的頭開始到尾結束,例如: >>> sample_fun5 = ' ' >>> print(sample_fun5.find('5')) #查看子字符串的順序 >>> print(sample_fun5.find('5',1,4)) #指定范圍內(nèi)沒有該字符串默認 返回-1 >>> print(sample_fun5.find('1') #多個字符串返回第一次出現(xiàn)時候 的順序 運行結果如下:
5.2 字符串方法 第五章 字符串與正則表達式 6.str.index('str',start,end) 該函數(shù)與find函數(shù)一樣,但是如果在某一個范圍內(nèi)沒有找到該字符串 的時候,不再返回-1而是直接報錯。例如: >>> sample_fun6 = ' ' >>> print(sample_fun6.index(7)) #指定范圍內(nèi)沒有找到該字符串會 報錯 運行結果如下: Traceback (most recent call last): File "D:/python/space/demo py", line 2, in print(sample_fun6.index(7)) #指定范圍內(nèi)沒有找到該字符串會報 錯 TypeError: must be str, not int
5.2 字符串方法 7.str.isalnum() 字符串是由字母或數(shù)字組成則返回true否則返回false。例如:
第五章 字符串與正則表達式 7.str.isalnum() 字符串是由字母或數(shù)字組成則返回true否則返回false。例如: >>> sample_fun7 = 'abc123' #字符串由字母和數(shù)字組成 >>> sample_fun8 = 'abc' #字符串由字母組成 >>> sample_fun9 = '123' #字符串由數(shù)字組成 >>> sample_fun10 = 'abc12%' #字符串由除了數(shù)字字母以為的字符組 成 print(sample_fun7.isalnum()) print(sample_fun8.isalnum()) print(sample_fun9.isalnum()) print(sample_fun10.isalnum()) 運行結果如下: True False
5.2 字符串方法 第五章 字符串與正則表達式 8.str.isalpha() 字符串是否全是由字母組成的,是返回true,否則返回false。例如 >>> sample_fun11 = 'abc123' #字符串中不只是有字母 >>> sample_fun12 = 'abc' #字符串中只是有字母 print(sample_fun11.isalpha()) print(sample_fun12.isalpha()) 運行結果如下: False True
5.2 字符串方法 第五章 字符串與正則表達式 9.str.isdigit() 字符串是否全是由數(shù)字組成,是則返回true,否則返回false。例如: >>> sample_fun13 = 'abc12' #字符串中不只是有數(shù)字 >>> sample_fun14 = '12' #字符串中只是有數(shù)字 print(sample_fun13.isdigit()) print(sample_fun14.isdigit()) 運行結果如下: False True
5.2 字符串方法 第五章 字符串與正則表達式 10.str.isspace() 字符串是否全是由空格組成的,是則返回true,否則返回false。例 如: >>> sample_fun15 = ' abc' #字符串中不只有空格 >>> sample_fun16 = ' ' #字符串中只有空格 >>> print(sample_fun15.isspace()) >>> print(sample_fun16.isspace()) 運行結果如下: False True
5.2 字符串方法 第五章 字符串與正則表達式 11.str.islower() 字符串是否全是小寫,是則返回true,否則返回false。例如: >>> sample_fun17 = 'abc' #字符串中的字母全是小寫 >>> sample_fun18 = 'Abcd' #字符串中的字母不只有小寫 >>> print(sample_fun17.islower()) >>> print(sample_fun18.islower()) 運行結果如下: True False
5.2 字符串方法 第五章 字符串與正則表達式 12.str.isupper() 字符串是否全是大寫,是則返回true,否則返回false。例如: >>> sample_fun19 = 'abCa' #字符串中的字母不全是大寫字母 >>> sample_fun20 = 'ABCA' #字符串中的字母全是大寫字母 >>> print(sample_fun19.isupper()) >>> print(sample_fun20.isupper()) 運行結果如下: False True
5.2 字符串方法 第五章 字符串與正則表達式 13.str.istitle() 字符串首字母是否是大寫,是則返回true,否則返回false。例如: >>> sample_fun21 = 'Abc' #字符串首字母大寫 >>> sample_fun22 = 'aAbc' #字符串首字母不是大寫 >>> print(sample_fun21s.istitle()) >>> print(sample_fun22.istitle()) 運行結果如下: True False
5.2 字符串方法 第五章 字符串與正則表達式 14.str.low() 將字符串中的字母全部轉換成小寫字母。例如: >>> sample_fun23 = 'aAbB' #將字符串中的字母全部轉為小寫字 母 >>> print(sample_fun23.lower()) 運行結果如下: aabb 15.str.upper() 將字符串中的字母全部轉換成大寫字母。例如: >>> sample_fun24 = 'abcD' #將字符串中的字母全部轉為 >>> print(sample_fun24.upper()) ABCD
5.2 字符串方法 第五章 字符串與正則表達式 16.str.split(sep,maxsplit) 將字符串按照指定的sep字符進行分割,maxsplit是指定需要分割的次 數(shù),若不指定sep默認是分割空格。例如: >>> sample_fun25 = 'abacdaef' >>> print(sample_fun25.split('a')) #指定分割字符串 >>> print(sample_fun25.split()) #不指定分割字符串 >>> print(sample_fun25.split('a',1)) #指定分割次數(shù) 運行結果如下: ['', 'b', 'cd', 'ef'] ['abacdaef'] ['', 'bacdaef']
5.2 字符串方法 17.str.startswith(sub[,start[,end]])
第五章 字符串與正則表達式 17.str.startswith(sub[,start[,end]]) 判斷字符串在指定范圍內(nèi)是否以sub開頭,默認范圍是整個字符串。例如: >>> sample_fun26 = '12abcdef' >>> print(sample_fun26.startswith('12',0,5)) #范圍內(nèi)是否是以該字符開 頭 運行結果如下: True 18.str.endswith(sub[,start[,end]]) 判斷字符串在指定范圍內(nèi)是否是以sub結尾,默認范圍是整個字符串。例 如: >>> sample_fun27 = 'abcdef12' >>> print(sample_fun27.endswith('12')) #指定范圍內(nèi)是否是以該字符結 尾
5.2 字符串方法 第五章 字符串與正則表達式 19.str.partition(sep) 將字符串從sep第一次出現(xiàn)的位置開始分隔成三部分:sep順序前、 sep、sep順序后。最后會返回出一個三元數(shù)組,如果沒有找到sep的 時候,返回字符本身和兩個空格組成的三元數(shù)組。例如: >>> sample_fun28 = '123456' >>> print(sample_fun28.partition('34')) #指定字符分割,能夠找到該 字符 >>> print(sample_fun28.partition('78')) #指定字符分割,不能夠找到 該字符 運行結果如下: ('12', '34', '56') ('123456', '', '')
5.2 字符串方法 第五章 字符串與正則表達式 20.str.rpartition(sep) 該函數(shù)與partition(sep)函數(shù)一致,但是sep不再是第一次出現(xiàn)的順 序,而是最后一次出現(xiàn)的順序。例如: >>> sample_fun29 = ' ' >>> print(sample_fun29.rpartition('34')) #指定字符最后一次的位置進 行分割 運行結果如下: ('123456', '34', '')
第五章 字符串與正則表達式 5.1 字符串基礎 5.2 字符串方法 5.3 正則表達式 5.4 實驗 5.5 小結 習題
5.3 正則表達式 第五章 字符串與正則表達式 5.3.1 認識正則表達式 正則表達式(Regular Expression),此處的“Regular”即是“規(guī) 則”、“規(guī)律”的意思,Regular Expression即“描述某種規(guī)則的表 達式”,因此它又可稱為正規(guī)表示式、正規(guī)表示法、正規(guī)表達式、規(guī) 則表達式、常規(guī)表示法等,在代碼中常常被簡寫為regex、regexp或 RE。正則表達式使用某些單個字符串,來描述或匹配某個句法規(guī)則 的字符串。在很多文本編輯器里,正則表達式通常被用來檢索或替換 那些符合某個模式的文本,如下面的表5.3、5.4、5.5、5.6所示。 字符 說明 . 匹配任意1個字符(除了\n) [ ] 匹配[ ]中列舉的字符\d \d 匹配數(shù)字,即0-9 \D 匹配非數(shù)字,即不是數(shù)字 \s 匹配空白,即空格,Tab鍵 \S 匹配非空白 \w 匹配單詞字符,即a-z.A-Z.0-9._ \W 匹配非單詞字符 表5.3單個字符匹配
5.3 正則表達式 5.3.1 認識正則表達式 表5.4表示數(shù)量的匹配 表5.5 表示邊界的匹配 *
第五章 字符串與正則表達式 5.3.1 認識正則表達式 表5.4表示數(shù)量的匹配 字符 說明 * 匹配前?個字符出現(xiàn)0次或者無限次,即可有可無 + 匹配前?個字符出現(xiàn)1次或者無限次,即至少有1次 ? 匹配前?個字符出現(xiàn)1次或者0次,即要么有1次,要么沒有 {m} 匹配前?個字符出現(xiàn)m次 {m,} 匹配前?個字符至少出現(xiàn)m次 {m,n} 匹配前?個字符出現(xiàn)從m到n次 表5.5 表示邊界的匹配 字符 說明 ^ 匹配字符串開頭 $ 匹配字符串結尾 \b 匹配?個單詞的邊界 \B 匹配非單詞邊界
5.3 正則表達式 5.3.1 認識正則表達式 表5.6 匹配分組 | 匹配左右任意?個表達式 (ab) 將括號中字符作為?個分組 \num
第五章 字符串與正則表達式 5.3.1 認識正則表達式 字符 說明 | 匹配左右任意?個表達式 (ab) 將括號中字符作為?個分組 \num 引用分組num匹配到的字符串 (?P) 分組起別名 (?P=name) 引用別名為name分組匹配到的字符串 表5.6 匹配分組
5.3 正則表達式 第五章 字符串與正則表達式 5.3.2re模塊 在Python中需要通過正則表達式對字符串進行匹配的時候,可以導入 ?個庫(模塊),名字為re,它提供了對正則表達式操作所需的方法, 如表5.7。 方法 說明 re.match(pattern,string flags) 從字符串的開始匹配一個匹配對象, 例如匹配第一個單詞 re.search(pattern,string flags) 在字符串中查找匹配的對象,找到第一個后就返回,如果沒有找到就返回None re.sub(pattern,repl,string count) 替換掉字符中的匹配項 re.split(r',',text) 分割字符 re.findall(pattern,string flags) 獲取字符串中所有匹配的對象 re.compile(pattern,flags) 創(chuàng)建模式對象 表5.7 re模塊常見的方法
5.3 正則表達式 第五章 字符串與正則表達式 5.3.3re.match()方法 re.match()是用來進行正則匹配檢查的方法,若字符串匹配正則表達 式,則match()方法返回匹配對象(Match Object),否則返回None (注意不是空字符串"")。 匹配對象Macth Object具有group()方法,用來返回字符串的匹配部分。 常用格式為: re.match(pattern,string, flags=0) 這里的pattern格式為('正則表達式', '匹配的字符串')例如: >>> import re #導入re包 >>> sample_result1 = re.match('Python','Python12') #從頭查找匹配 字符串 >>> print(sample_result1.group()) #輸出匹配的字符串 運行結果如下: Python
5.3 正則表達式 第五章 字符串與正則表達式 5.3.4re.search()方法 re.search()方法和re.match()方法相似,也是用來對正則匹配檢查的 方法但不同的是search()方法是在字符串的頭開始一直到尾進行查找, 若正則表達式與字符串匹配成功,那么就返回匹配對象,否則返回 None。例如: >>> import re >>> sample_result2 = re.search('Python','354Python12') #依次匹配 字符串 >>> print(sample_result2.group()) 運行結果如下: Python
5.3 正則表達式 第五章 字符串與正則表達式 5.3.4re.search()方法與re.match()方法的區(qū)別 雖然re.match()和re.search()方法都是指定的正則表達式與字符串進行匹配, 但是 re.match()是從字符串的開始位置進行匹配,若匹配成功,則返回匹配 對象,否則返回None。而re.search()方法卻是從字符串的全局進行掃描,若 匹配成功就返回匹配對象,否則返回None。例如: >>> import re >>> sample_result3 = re.match('abc','abcdef1234') #match只能夠匹配頭 >>> sample_result4 = re.match('1234','abcdef1234') >>> print(sample_result3.group()) >>> print(sample_result4)
5.3 正則表達式 第五章 字符串與正則表達式 5.3.4re.search()方法與re.match()方法的區(qū)別 >>> sample_result5 = re.search('abc','abcdef1234') #search匹配全體字符 >>> sample_result6 = re.search('1234','abcdef1234') >>> print(sample_result5.group()) >>> print(sample_result6.group()) 運行結果如下: abc None 1234
第五章 字符串與正則表達式 5.1 字符串基礎 5.2 字符串方法 5.3 正則表達式 5.4 實驗 5.5 小結 習題
5.4 實驗 第五章 字符串與正則表達式 5.4.1 使用字符串處理函數(shù) 1.我們常看到自己電腦上的文件路徑如' C:\Windows\Logs\dosvc',請將該 路徑分割為不同的文件夾。 >>> sample_str1 = 'C:\Windows\Logs\dosvc' >>> sample_slipstr = sample_str1.split('\\') #\轉義字符要轉一次才是本意 >>> print(sample_slipstr) 運行結果如下: ['C:', 'Windows', 'Logs', 'dosvc'] 2.Python的官網(wǎng)是 >>> sample_str2 = ' >>> print(sample_str2.endswith('org')) #從字符串末尾開始查找 True
5.4 實驗 第五章 字符串與正則表達式 5.4.2 正則表達式的使用 寫出一個正則表達式來匹配是否是手機號。 >>> import re #定義一個正則表達式 >>> phone_rule = re.compile('1\d{10}') >>> phone_num = input('請輸入一個手機號') #通過規(guī)則去匹配字符串 >>> sample_result3 = phone_rule.search(phone_num) >>> if sample_result3 != None: print('這是一個手機號') else: print('這不是一個手機號') 運行結果如下: 請輸入一個手機號 這是一個手機號 Process finished with exit code 0 請輸入一個手機號 這不是一個手機號
5.4 實驗 第五章 字符串與正則表達式 5.4.3 使用re模塊 用兩種方式寫出一個正則表達式匹配字符'Python123'中的'Python'并輸出字符串 'Python'。 >>> import re #導入re包 >>> sample_regu = re.compile('Python') #定義正則表達式規(guī)則 >>> sample_result4 = sample_regu.match('Python123') #用match方式匹配字符串 >>> print(sample_result4.group()) #用search方式匹配字符串 >>> sample_result5 = sample_regu.search('Python123') >>> print(sample_result5.group())
第五章 字符串與正則表達式 5.1 字符串基礎 5.2 字符串方法 5.3 正則表達式 5.4 實驗 5.5 小結 習題
5.5 小結 第五章 字符串與正則表達式 本章首先講解了Python字符串概念,字符串的基本操作;其次是字符串的格 式化,主要的格式化符號、格式化元組;還有操作字符串的基本方法,這些 符號和方法在Python的開發(fā)中會被經(jīng)常使用到。之后,我們學習了正則表達 式,re模塊和正則表達式的基本表示符號,這些符號可以幫助簡化正則表達 式。 正則表達式的用途非常廣泛,幾乎任何編程語言都可以使用到它,所以學好 正則表達式,對于提高自己的編程能力有非常重要的作用。
第五章 字符串與正則表達式 5.1 字符串基礎 5.2 字符串方法 5.3 正則表達式 5.4 實驗 5.5 小結 習題
習題: 1. 將字符串'abcdefg' 使用函數(shù)的方式進行倒敘輸出。
2. 在我們生活中節(jié)假日的問候是必不可少的,請使用字符串格式化的方式寫一個新年問候語模板。 3. 4. 簡述re模塊中re.match()與re.search()的區(qū)別。
AIRack人工智能實驗平臺 ——一站式的人工智能實驗平臺 DeepRack深度學習一體機 ——開箱即用的AI科研平臺 BDRack大數(shù)據(jù)實驗平臺——一站式的大數(shù)據(jù)實訓平臺
云創(chuàng)公眾號推薦 劉鵬看未來 云計算頭條 中國大數(shù)據(jù) 深度學習世界 云創(chuàng)大數(shù)據(jù)訂閱號 云創(chuàng)大數(shù)據(jù)服務號 高校大數(shù)據(jù)與人工智能
微信號:lpoutlook 云計算頭條 微信號:chinacloudnj 中國大數(shù)據(jù) 微信號:cstorbigdata 深度學習世界 微信號:dl-world 云創(chuàng)大數(shù)據(jù)訂閱號 微信號:cStor_cn 云創(chuàng)大數(shù)據(jù)服務號 微信號:cstorfw 高校大數(shù)據(jù)與人工智能 微信號:data_AI
手機APP推薦 我的PM2.5 隨時隨地準確 查看身邊的 PM2.5值 同聲譯 支持26種語言 互譯的實時翻 譯軟件 我的南京
云創(chuàng)大數(shù)據(jù)為路 況大數(shù)據(jù)應用提 供技術支持 科技頭條 匯聚前沿資訊 的科技情報站
網(wǎng)站推薦 萬物云 智能硬件大數(shù)據(jù)免費托管平臺 環(huán)境云 環(huán)境大數(shù)據(jù)開放共享平臺
感謝聆聽
總結
以上是生活随笔為你收集整理的python123查找指定字符输入m_大数据应用人才培养系列教材 Python语言 刘 鹏 张 燕 总主编 李肖俊 主编 刘 河 钟 涛 副主编....的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hibernate基于单表curd
- 下一篇: (二)Cypher语言常用方法举例