溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么掌握python字符串

發(fā)布時間:2021-11-10 10:42:42 來源:億速云 閱讀:133 作者:iii 欄目:開發(fā)技術

本篇內(nèi)容主要講解“怎么掌握python字符串”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么掌握python字符串”吧!

四大前綴

除了普通的字符串,python在字符串前面可以有4個前綴,即frub。其中,f字符串可將{}中的變量轉(zhuǎn)為字符串;r表示取消轉(zhuǎn)義;u表示使用Unicode字符;b表示采用byte類型。

前二者最常用,示例如下

>>> f"1+1={1+1}"    #f字符串
'1+1=2'
>>> r"C:\abc\def"   #r字符串取消轉(zhuǎn)義
'C:\\abc\\def'

大小寫轉(zhuǎn)化

大小寫轉(zhuǎn)化說明示例結果
capitalize()首字母轉(zhuǎn)大寫'i love u'.capitalize()‘I love u'
upper()所有字母轉(zhuǎn)大寫'I love u'.upper()‘I LOVE U'
lower()所有字母轉(zhuǎn)小寫'I LOVE U'.lower()‘i love u'
title()單詞首字母大寫'i love u'.title()‘I Love U'
swapcase()大小寫翻轉(zhuǎn)'I Love U'.swapcase()‘i lOVE u'
casefold()超級大寫轉(zhuǎn)小寫'Γ'.casefold()‘γ'

空格調(diào)整函數(shù)

其中輸入w表示將字符長度調(diào)整為w,如未作說明,則其余位置補充為空格。

空格調(diào)整說明示例結果
center(w)調(diào)整后原字符串居中'Love'.center(6)' Love '
ljust(w)調(diào)整后原字符串居左'Love'.ljust(6)'Love '
rjust(w)調(diào)整后原字符串居右'Love'.rjust(6)' Love'
zfill(w)在左側(cè)補0'123'.zfill(6)‘000123'
expandtabs(w)tab轉(zhuǎn)為w個空格'\ta'.expandtabs(4)' a'

刪除部分字符

s為字符串,如果為空則默認為空格。

lstrip(s)自左刪除s中的字符'ILoveU'.lstrip('ILU')‘oveU'
rstrip(s)自右刪除s中的字符'\tLove\t'.rstrip()‘\tLove'
strip(s)執(zhí)行l(wèi)strip(s)和rstrip(s)'\tLove\t'.strip()‘Love'
removeprefix(s)自左刪除s'ILoveU'.removeprefix('ILU')‘ILoveU'
removesuffix(s)自右刪除s'ILoveU'.removesuffix('eU')‘ILov'

字符串判定


返回True的條件示例返回值
isalnum()只包含字母或數(shù)字'abc1'.isalnum()True
isalpha()只含字母'abc1'.isalpha()False
isdecimal()只包含十進制數(shù)字'123A'.isdecimal()False
isdigit()只含數(shù)字'123A'.isdecimal()False
islower()包含字母,且均為小寫'abc1'.islower()True
isupper()包含字母,且均為大寫'123'.isupper()False
isnumeric()只包含數(shù)字字符'四五'.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

字符串查找

下面的函數(shù)均有三個輸入?yún)?shù),str表示待匹配字符串,begend分別表示開頭和結尾,默認為0和被匹配字符串的長度。以s.count(str, beg, end)為例,表示s[beg:end]str出現(xiàn)的次數(shù)。

s.count(str, beg, end)str出現(xiàn)的次數(shù)
s.find(str, beg, end)str首次出現(xiàn)的位置,如未找到則返回-1
s.rfind(str, beg, end)str最后出現(xiàn)的位置,如未找到則返回-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左邊,strstr右邊
s.rpartition(str)partition相同,但從右邊開始
s.replace(s1, s2, num)s中的s1換成s2,若指定num,則替換不超過num次

除了replace,還可以通過translate來進行替換,區(qū)別在于translate輸入的是maketrans建立的替換表。

>>> trans = ''.maketrans('I',"我")
>>> "I Love U".translate(trans)
'我 Love U'

format格式化

format可將標識符{}替換為元組中的值,如果{}中未指定序號,則順序替代。

'{} Love {}'.format('I','U')
'I Love U'

如果{}中指定了序號,則按照序號的順序替代

>>> '{0} Love {1}, {1} Love {0}'.format('I','U')
'I Love U, U Love I'    #最近被蜜雪冰城洗腦了。。。

當然,和C語言一樣,這種格式化用于數(shù)字轉(zhuǎn)化的情況多一些,python中通過:來聲明數(shù)字轉(zhuǎn)化為字符串之后的格式

其中,

  • ^, <, > 分別表示居中、左對齊、右對齊

  • +表示在正數(shù)前顯示+,負數(shù)前顯示 -

  • bd、o、x分別是二進制、十進制、八進制、十六進制

具體示例如下


>>> from math import pi
輸入輸出描述
'{:.2f}'.format(pi)‘3.14'保留兩位小數(shù),四舍五入
'{:.2%}'.format(pi)‘314.16%'保留兩位小數(shù)的百分數(shù)
'{:+.2f}'.format(1)‘+1.00'保留兩位小數(shù),帶符號
'{:0>5d}'.format(1)‘00001'左側(cè)補0,寬度為5
'{:>5d}'.format(1)‘01'左側(cè)補空格,寬度為5
'{:x<5d}'.format(1)‘1xxxx'右側(cè)補x,寬度為5
'{:-^5d}'.format(1)‘–1--'兩側(cè)補-,寬度為5
'{:,}'.format(1e5)‘100,000.0'逗號分隔
'{:.2e}'.format(1e5)‘1.00e+05'科學計數(shù)法
'{:b}'.format(8)‘1000'二進制

format_map

format的輸入為一個字符串元組,將元組中的字符串根據(jù)索引替代字符串中的{},而format_map則直接用字典來進行格式化。

例如用元組可以做到

>>> '{} Love {}'.format("阿珍","阿強")
'阿珍 Love 阿強'

而用字典,則可以這樣寫

>>> '{A} Love {B}'.format_map({"A":"阿珍","B":"阿強"})
'阿珍 Love 阿強'

從而使得代碼更加清晰。

到此,相信大家對“怎么掌握python字符串”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI