Python學習之String模組詳解

來源:互聯網
上載者:User

標籤:

本文和大家分享的主要是python 中String 模組相關內容,一起來看看吧,希望對大家 學習python有所協助。String 模組包含大量實用常量和類,以及一些過時的遺留功能,並還可用作字串操作。 1. 常用方法str.capitalize() 把字串的首字母大寫str.center(width) 將原字串用空格填充成一個長度為 width 的字串,原字串內容置中str.count(s) 返回字串 s 在 str 中出現的次數str.decode(encoding=’UTF-8’,errors=’strict’) 以指定編碼格式解碼字串str.encode(encoding=’UTF-8’,errors=’strict’) 以指定編碼格式編碼字串str.endswith(s) 判斷字串 str 是否以字串 s 結尾str.find(s) 返回字串 s 在字串 str 中的位置索引,沒有則返回 -1str.index(s) 和 find() 方法一樣,但是如果 s 不存在於 str 中則會拋出異常str.isalnum() 如果 str 至少有一個字元並且都是字母或數字則返回 True, 否則返回 Falsestr.isalpha() 如果 str 至少有一個字元並且都是字母則返回 True, 否則返回 Falsestr.isdigit() 如果 str 只包含數字則返回  True  否則返回  Falsestr.islower() 如果 str 存在區分大小寫字元,並且都是小寫則返回 True  否則返回 Falsestr.isspace() 如果 str 中只包含空格,則返回  True ,否則返回  Falsestr.istitle() 如果 str 是標題化的 ( 單字首大寫 ) 則返回 True ,否則返回 Falsestr.isupper() 如果 str 存在區分大小寫字元,並且都是大寫則返回 True  否則返回 Falsestr.ljust(width) 返回一個原字串靠左對齊的並使用空格填充至長度 width 的新字串str.lower() 轉換 str 中所有大寫字元為小寫str.lstrip() 去掉 str 左邊的不可見字元str.partition(s) 用 s 將 str 切分成三個值str.replace(a, b) 將字串 str 中的 a 替換成 bstr.rfind(s) 類似於  find() 函數,不過是從右邊開始尋找str.rindex(s) 類似於  index() ,不過是從右邊開始str.rjust(width) 返回一個原字串靠右對齊的並使用空格填充至長度 width 的新字串str.rpartition(s) 類似於  partition() 函數 , 不過是從右邊開始尋找str.rstrip() 去掉 str 右邊的不可見字元str.split(s) 以 s 為分隔字元切片 strstr.splitlines() 按照行分隔,返回一個包含各行作為元素的列表str.startswith(s) 檢查字串 str 是否是以 s 開頭,是則返回 True ,否則返回 Falsestr.strip() 等於同時執行 rstrip() 和 lstrip()str.title() 返回 ” 標題化 ” 的 str, 所有單詞都是以大寫開始,其餘字母均為小寫str.upper() 返回 str 所有字元為大寫的字串str.zfill(width) 返回長度為  width  的字串,原字串 str 靠右對齊,前面填充 0 2.字串常量string.ascii_lowercase 小寫字母 ’abcdefghijklmnopqrstuvwxyz’string.ascii_uppercase 大寫的字母 ’ABCDEFGHIJKLMNOPQRSTUVWXYZ’string.ascii_lettersascii_lowercase 和 ascii_uppercase 常量的串連串string.digits 數字 0 到 9 的字串 :’0123456789’string.hexdigits 字串 ’0123456789abcdefABCDEF’string.letters 字串 ’abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’string.lowercase 小寫字母的字串 ’abcdefghijklmnopqrstuvwxyz’string.octdigits 字串 ’01234567’string.punctuation 所有標點字元string.printable 可列印的字元的字串。包含數字、字母、標點符號和空格string.uppercase 大學字母的字串 ’ABCDEFGHIJKLMNOPQRSTUVWXYZ’string.whitespace 空白字元  ‘\t\n\x0b\x0c\r ‘ 3.字串模板Template通過string.Template 可以為 Python 定製字串的替換標準 , 下面是具體列子:>>>from string import Template>>>s = Template(’$who like $what’)>>>print s.substitute(who=’i’, what=’python’)i like python>>>print s.safe_substitute(who=’i’) #  缺少 key 時不會拋錯i like $what>>>Template(’${who}LikePython’).substitute(who=’I’) #  在字串內時使用 {}’ILikePython’Template 還有更加進階的用法,可以通過繼承 string.Template,  重寫變數 delimiter( 定界符 ) 和idpattern( 替換格式 ),  定製不同形式的模板。 import stringtemplate_text = ’’’ Delimiter : $de Replaced : %with_underscore Ingored : %notunderscored ’’’d = {’de’: ’not replaced’,’with_underscore’: ’replaced’,’notunderscored’: ’not replaced’} class  MyTemplate(string.Template):#  重寫模板 定界符 (delimiter) 為 "%",  替換模式 (idpattern) 必須包含底線 (_)delimiter = ’%’idpattern = ’[a-z]+_[a-z]+’ print string.Template(template_text).safe_substitute(d)  #  採用原來的 Template 渲染 print MyTemplate(template_text).safe_substitute(d)  #  使用重寫後的 MyTemplate 渲染輸出:Delimiter : not replacedReplaced : %with_underscoreIngored : %notunderscoredDelimiter : $deReplaced : replacedIngored : %notunderscored原生的Template 只會渲染界定符為 $ 的情況,重寫後的 MyTemplate 會渲染界定符為 % 且替換格式帶有底線的情況。 4.常用字串技巧· 1. 反轉字串>>> s = ’1234567890’>>> print s[::-1]0987654321· 2. 關於字串連結盡量使用join() 連結字串,因為 ’+’ 號串連 n 個字串需要申請 n-1 次記憶體 , 使用 join() 需要申請 1 次記憶體。· 3. 固定長度分割字串>>>  import re>>> s = ’1234567890’>>> re.findall(r’.{1,3}’, s)  #  已三個長度分割字串[’123’, ’456’, ’789’, ’0’]·4. 使用 () 括弧產生字串sql = (’ SELECT  count()  FROM  table ’’ WHERE  id = "10" ’’ GROUP  BY sex’)print sqlSELECT count() FROM table WHERE id = "10" GROUP BY sex· 5. 將 print 的字串寫到檔案>>> print >> open("somefile.txt", "w+"), "Hello World"  # Hello World 將寫入檔案 somefile.tx來源: 伯樂線上

Python學習之String模組詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.