您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么掌握python字符串”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么掌握python字符串”吧!
除了普通的字符串,python在字符串前面可以有4個前綴,即frub。其中,f字符串可將{}
中的變量轉為字符串;r
表示取消轉義;u
表示使用Unicode字符;b
表示采用byte
類型。
前二者最常用,示例如下
>>> f"1+1={1+1}" #f字符串 '1+1=2' >>> r"C:\abc\def" #r字符串取消轉義 'C:\\abc\\def'
大小寫轉化 | 說明 | 示例 | 結果 |
---|---|---|---|
capitalize() | 首字母轉大寫 | 'i love u'.capitalize() | ‘I love u' |
upper() | 所有字母轉大寫 | 'I love u'.upper() | ‘I LOVE U' |
lower() | 所有字母轉小寫 | 'I LOVE U'.lower() | ‘i love u' |
title() | 單詞首字母大寫 | 'i love u'.title() | ‘I Love U' |
swapcase() | 大小寫翻轉 | 'I Love U'.swapcase() | ‘i lOVE u' |
casefold() | 超級大寫轉小寫 | 'Γ'.casefold() | ‘γ' |
其中輸入w
表示將字符長度調整為w
,如未作說明,則其余位置補充為空格。
空格調整 | 說明 | 示例 | 結果 |
---|---|---|---|
center(w) | 調整后原字符串居中 | 'Love'.center(6) | ' Love ' |
ljust(w) | 調整后原字符串居左 | 'Love'.ljust(6) | 'Love ' |
rjust(w) | 調整后原字符串居右 | 'Love'.rjust(6) | ' Love' |
zfill(w) | 在左側補0 | '123'.zfill(6) | ‘000123' |
expandtabs(w) | 將tab 轉為w個空格 | '\ta'.expandtabs(4) | ' a' |
s
為字符串,如果為空則默認為空格。
lstrip(s) | 自左刪除s 中的字符 | 'ILoveU'.lstrip('ILU') | ‘oveU' |
rstrip(s) | 自右刪除s 中的字符 | '\tLove\t'.rstrip() | ‘\tLove' |
strip(s) | 執行lstrip(s)和rstrip(s) | '\tLove\t'.strip() | ‘Love' |
removeprefix(s) | 自左刪除s | 'ILoveU'.removeprefix('ILU') | ‘ILoveU' |
removesuffix(s) | 自右刪除s | 'ILoveU'.removesuffix('eU') | ‘ILov' |
返回True的條件 | 示例 | 返回值 | |
---|---|---|---|
isalnum() | 只包含字母或數字 | 'abc1'.isalnum() | True |
isalpha() | 只含字母 | 'abc1'.isalpha() | False |
isdecimal() | 只包含十進制數字 | '123A'.isdecimal() | False |
isdigit() | 只含數字 | '123A'.isdecimal() | False |
islower() | 包含字母,且均為小寫 | 'abc1'.islower() | True |
isupper() | 包含字母,且均為大寫 | '123'.isupper() | False |
isnumeric() | 只包含數字字符 | '四五'.isnumeric() | True |
isspace() | 只含空格 | 'asd'.isspace() | False |
istitle() | 首字母均大寫 | 'I Love U'.istitle() | True |
isascii() | 均為ASCII碼 | '四'.isascii() | False |
isidentifier() | 可用作python標識符 | '1asd'.isidentifier() | False |
isprintable() | 均為可打印字符 | chr(1).isprintable() | False |
下面的函數均有三個輸入參數,str
表示待匹配字符串,beg
和end
分別表示開頭和結尾,默認為0和被匹配字符串的長度。以s.count(str, beg, end)
為例,表示s[beg:end]
中str
出現的次數。
s.count(str, beg, end) | str 出現的次數 |
s.find(str, beg, end) | str 首次出現的位置,如未找到則返回-1 |
s.rfind(str, beg, end) | str 最后出現的位置,如未找到則返回-1 |
s.index(str, beg, end) | 和find 相同,但未找到會報錯 |
s.rindex(str, beg, end) | 和rfind 相同,但未找到會報錯 |
s.startswith(str, beg, end) | 若以str 開頭,則返回True |
s.endswith(str, beg, end) | 若以str 結尾,則返回True |
s.split(str, num) | 將s 按照str 進行分割,若指定num,則分割為num+1 段 |
s.rsplit(str, num) | 和split相同,但從右向左開始匹配 |
s.splitlines([keepends]) | 按行分割,若指定keepends為False,則不保留換行符 |
s.join(seq) | 以s 為分隔符,將seq 中的字符串組合在一起 |
s.partition(str) | 將s 分成三份,str 左邊,str 和str 右邊 |
s.rpartition(str) | 和partition 相同,但從右邊開始 |
s.replace(s1, s2, num) | 將s 中的s1 換成s2 ,若指定num,則替換不超過num次 |
除了replace
,還可以通過translate
來進行替換,區別在于translate
輸入的是maketrans
建立的替換表。
>>> trans = ''.maketrans('I',"我") >>> "I Love U".translate(trans) '我 Love U'
format
可將標識符{}
替換為元組中的值,如果{}
中未指定序號,則順序替代。
'{} Love {}'.format('I','U') 'I Love U'
如果{}
中指定了序號,則按照序號的順序替代
>>> '{0} Love {1}, {1} Love {0}'.format('I','U') 'I Love U, U Love I' #最近被蜜雪冰城洗腦了。。。
當然,和C語言一樣,這種格式化用于數字轉化的情況多一些,python中通過:
來聲明數字轉化為字符串之后的格式
其中,
^, <, >
分別表示居中、左對齊、右對齊
+
表示在正數前顯示+,負數前顯示 -
b
、d
、o
、x
分別是二進制、十進制、八進制、十六進制
具體示例如下
>>> from math import pi
輸入 | 輸出 | 描述 |
---|---|---|
'{:.2f}'.format(pi) | ‘3.14' | 保留兩位小數,四舍五入 |
'{:.2%}'.format(pi) | ‘314.16%' | 保留兩位小數的百分數 |
'{:+.2f}'.format(1) | ‘+1.00' | 保留兩位小數,帶符號 |
'{:0>5d}'.format(1) | ‘00001' | 左側補0,寬度為5 |
'{:>5d}'.format(1) | ‘01' | 左側補空格,寬度為5 |
'{:x<5d}'.format(1) | ‘1xxxx' | 右側補x,寬度為5 |
'{:-^5d}'.format(1) | ‘–1--' | 兩側補-,寬度為5 |
'{:,}'.format(1e5) | ‘100,000.0' | 逗號分隔 |
'{:.2e}'.format(1e5) | ‘1.00e+05' | 科學計數法 |
'{:b}'.format(8) | ‘1000' | 二進制 |
format
的輸入為一個字符串元組,將元組中的字符串根據索引替代字符串中的{}
,而format_map
則直接用字典來進行格式化。
例如用元組可以做到
>>> '{} Love {}'.format("阿珍","阿強") '阿珍 Love 阿強'
而用字典,則可以這樣寫
>>> '{A} Love {B}'.format_map({"A":"阿珍","B":"阿強"}) '阿珍 Love 阿強'
從而使得代碼更加清晰。
到此,相信大家對“怎么掌握python字符串”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。