以下介紹python中一些常用的已經巢狀的字串函式,利用這些函式可以使我們在打**的時候不用自己苦逼地自己寫相應的函式,可以讓我們事半功倍,用起來很方便,不過在用之前一定可以要清楚函式相應的引數的意義,如果要知道函式的具體實現,可以按下ctrl+b,就可以檢視。
# 字串
# 1、字串拼接
# 1.1、利用加號
print("i am learning " + "python.") # 這三句結果都為i am learning python.
# 1.2、直接寫在一起
print("i am learning " "python.")
# 1.3、利用佔位符
print("i am learning %s" % "python")
# 1.4、利用乘號
print("nice\t" * 3) # 結果為nice nice nice,每個字串中間都間隔四位
# 2、字串切片
# 2.1、通過下標獲取特定位
str = "abcdefg"
print(str[0]) # 獲取第一位
print(str[-1]) # 獲取最後一位,當下標為負數時,從後往前索引
# 2.2、通過長度來獲取片段,name[start:end:step],獲取範圍是[start,end),
# 當step>0時從左往右,小於0時從右往左
print(str[0:3:2]) # 結果為ac
print(str[-1:0:-2]) # 結果為gec
print(str[::-1]) # 反轉字串
# 3、字串函式
# 3.1、len(name) 字串中字元的個數
# 3.2、查詢計數
# name.find(sub, start, end) 在命名為name的字串中從start到end範圍內查詢子字串,
# 若找到則返回匹配的第乙個字元的下標,找不到則返回-1
name = "i am learning python."
print(name.find("am")) # 結果為2
print(name.rfind("f")) # 結果為-1,rfind()從右往左查詢
# name.index(sub, start, end) 獲取子串的位置,找到則返回索引,找不到則報錯
# name.rindex(sub, start, end) 功能與index()一致,從右往左獲取
print(name.index("am")) # 結果為2
print(name.rindex("am")) # 結果為2
# name.count(sub, start, end) 計算子字串的個數
print(name.count("n")) # 結果為3
# 3.3、轉換函式
# name.replace(old, new, count) 把字串中的子字串轉換成新的,轉換的數目由count決
# 定, count預設為1,返回轉換後的新字串,但注意原字串沒有發生改變。
print(name.replace("n", "m")) # 結果為i am learmimg pythom.
print(name.replace("n", "m", 1)) # 結果為i am learming python.
print(name.replace("i am", "you're", 1)) # 結果為you're learning python.
name = "i am learning python."
print(name.capitalize()) # 將字串的首字母變成大寫,結果為i am learning python.
print(name.title()) # 將字串中每個單詞的首字母變成大寫,結果為i am learning python.
name1 = "i am learning python."
print(name1.lower()) # 將字串中每個字母都變成小寫
print(name1.upper()) # 將字串中每個字母都變成大寫
# 3.4、填充壓縮
# name.ljust(width, char) 當字串的長度小於width時,用字元char填充在字串的右側,
# 直到填充後的長度為width
print(name.ljust(25, 'y')) # 結果為i am learning python.yyyy
print(name.rjust(25, 'y')) # 在字串的左邊填充字元,結果為yyyyi am learning python.
print(name.center(26, 'y')) # 原字串居中,填充的字元分布在兩側,當不能平方時,右側填充的
# 字元數比左側多1,結果為yyi am learning python.yyy
# name.lstrip(chars) 刪除字串中左側指定的字元,當遇到不包括在chars中的字元時停止,
# chars預設為空白符
name = "i aam learning python."
print(name.lstrip("i am")) # 結果為learning python.
print(name.rstrip("no.")) # 刪除右側指定的字元,結果為i aam learning pyth
# 3.5、分割拼接
# name.split(sep, max_split) 把字串分割成子字串,sep為分隔符,max_split為最大的分割
# 次數,如果省略那就是有多少分割多少,返回分割後的子字串組成的列表
str = "123-456-789"
print(str.split("-")) # 結果為['123', '456', '789']
print(str.split("-", 1)) # 結果為['123', '456-789']
# name.partition(sep) 從字串的左側開始查詢分隔符sep,若找到分隔符,則返回乙個元組,
# 由分隔符左側的內容、分隔符、分隔符右側的內容組成
print(str.partition("-")) # 結果為('123', '-', '456-789')
print(str.partition(" ")) # 結果為('123-456-789', '', ''),找不到分隔符就以這種形式返回
# name.rpartition(sep) 從字串的右側開始查詢分隔符sep,與name.partition(sep)功能一致
print(str.rpartition("-")) # 結果為('123-456', '-', '789')
# name.splitlines(keepends) 按換行符\r、\n對字串進行分割,keepends為bool型,
# 表示是否保留換行符,返回由分割後組成的子字串組成的列表
name = "***\rbbb\n"
print(name.splitlines()) # 結果為['***', 'bbb']
print(name.splitlines(true)) # 結果為['***\r', 'bbb\n']
# name.join(iterable) 對可迭代的物件用給定的字串進行拼接,返回拼接後的字串,
# 可迭代的物件包括字串、元組、列表等
name = "***"
item = ["i", "am", "learning"]
print(name.join(item)) # 結果為i***am***learning
# 3.6、判定
# name.isalpha() 判斷字串中所有字元是否都為字母,返回bool型
name = "abn"
print(name.isalpha()) # 結果為true
# name.isdigit() 判斷字串中所有字元是否都為數字,返回bool型
name = "12abn"
print(name.isdigit()) # 結果為false
# name.isalnum() 判斷字串中所有字元是否都為數字或字母,返回bool型
name = "12abn"
print(name.isalnum()) # 結果為true
# name.isspace() 判斷字串中所有字元是否都為空白符,包括空格、縮排、換行等不可見轉義符,
# 返回bool型
name = "\n"
print(name.isspace()) # 結果為true
name = ""
print(name.isspace()) # 結果為false,至少得有乙個字元,否則判定為假
# name.startswith(prefix, start, end) 判斷字串是否以指定的字首開頭
name = "2018.9.1"
print(name.startswith("2018")) # 結果為true
# name.endswith(suffix, start, end) 判斷字串是否以指定的字尾結束
name = "xx.doc"
print(name.endswith(".doc")) # 結果為true
# in 和 not in 判斷乙個字串是否包含在另乙個字串裡面
print("ss" in "i xx sss") # 結果為true
print("am" not in "smm ffn") # 結果為true
python入門 字串
x i.upper if i.islower else i.lower for i in s print join x 或者是 s.swapcase sample input this is a string sample output this is a string def split and ...
python字串函式
對於月份不足兩位補零操作如下 stryearmonth str year str month zfill 2 不足兩位補充0 生成字串變數 strcpy sstr1,sstr2 sstr1 strcpy sstr2 sstr1 sstr1 strcpy2 print sstr2 比較字串 strcm...
python 字串函式
str.count sub 返回 sub在str中出現的次數 str.find sub 返回 從左開始,查詢sub在str中第一次出現的位置。如果str中不包含sub,返回 1 str.index sub 返回 從左開始,查詢sub在str中第一次出現的位置。如果str中不包含sub,舉出錯誤 st...