python cook读书笔记第2章字符串和文本
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                python cook读书笔记第2章字符串和文本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                使用多個界定符分割字符串
?
|  line = 'asdf fjdk; afed, fjek,asdf, foo' import re # line = re.split(r'[;,\s]\s*',line) # print(line) # ['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo'] """ 當你使用 re.split() 函數時候,需要特別注意的是正則表達式中是否包含一個括 號捕獲分組。如果使用了捕獲分組,那么被匹配的文本也將出現在結果列表中。 """ # line = re.split('(;|,|\s)\s*',line) # print(line) #['asdf', ' ', 'fjdk', ';', 'afed', ',', 'fjek', ',', 'asdf', ',', 'foo'] #使用分組會捕獲匹配的分割字符添加到列表中 value = line[::2] print(value) #['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo'] #使用切片步長來獲取被分割的元素 delimiters = line[1::2] print(delimiters) #[' ', ';', ',', ',', ','] #使用切片獲取分隔符 print(list(zip(value,delimiters))) #[('asdf', ' '), ('fjdk', ';'), ('afed', ','), ('fjek', ','), ('asdf', ',')] #使用zip函數把分隔符和被分割的元素組成元組再用生成器表達式拼接成字符串 values = ''.join(v+delimiter for v,delimiter in zip(value,delimiters)) print(values) #asdf fjdk;afed,fjek,asdf, #把數據合并成了字符串 line = re.split('(?:,;|,|\s)\s*',line) print(line) #['asdf', 'fjdk;', 'afed', 'fjek', 'asdf', 'foo'] #如果一定要使用分組的形式分割數據,又不想保留分隔符可以使用?:丟棄分隔符  | 
字符串開頭或結尾匹配
|  """ 檢查字符串開頭或結尾的一個簡單方法是使用 str.startswith() 或者是 str.endswith() 方法。 """ # filename = 'spam.txt' # print(filename.endswith('.txt')) # #True # print(filename.startswith('file:')) # #False # url = 'http://www.python.org' # print(url.startswith('http:')) #True import os filenames = os.listdir('.') print(filenames) #['admin.py', 'apps.py', 'migrations', 'models.py', 'tests.py', 'urls.py', 'views.py', '__init__.py', '__pycache__'] filename = [filename for filename in filenames if filename.endswith('.py')] print(filename) #['admin.py', 'apps.py', 'models.py', 'tests.py', 'urls.py', 'views.py', '__init__.py'] print(any(name.endswith('py') for name in filename)) #True print(all(name.endswith('py') for name in filename)) #True from urllib import request def read_data(name): if name.startswith(('http','https','ftp'),): return request.urlopen(name).read() else: with open(name) as f: return f.read() print(read_data('https://www.baidu.com')) """ 這個方法中必須要輸入一個元組作為參數。如果你恰巧有一個 list 或 者 set 類型的選擇項,要確保傳遞參數前先調用 tuple() 將其轉換為元組類型。 """ choices = ['http:', 'ftp:'] url = 'http://www.python.org' print(url.startswith(tuple(choices))) #True #也可以使用re的match模塊實現檢測 import re print(re.match("(http:|https|ftp:)",url)) #<re.Match object; span=(0, 5), match='http:'> """ 普通數據聚合相結合的時候 startswith() 和endswith() 方法是很不錯的。 """ print(any(name.endswith(('.c','.h')) for name in os.listdir('.'))) #False print(any(name.endswith(('.py','.h')) for name in os.listdir('.'))) #True  | 
轉載于:https://www.cnblogs.com/louzi/p/10387729.html
總結
以上是生活随笔為你收集整理的python cook读书笔记第2章字符串和文本的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 打土匪剧情介绍
 - 下一篇: 雷鸟电视为什么买的人很少