天天看點

Python字元串内置方法大全

字元串的操作方法

+  字元串連接配接操作
str1 = "大金鍊子"
str2 = "小手表"
str3 = str1 + str2
print(str3)
*  字元串複制操作
str1 = "大金鍊子"
str2 = "小手表"
str3 = str1*3
print(str3)
[] 字元串索引操作,通過索引通路指定位置的字元,索引從0開始
[::] 字元串取片操作
    完整格式:[開始索引:結束索引:間隔值]
    [:結束索引]  從開頭截取到結束索引之前
    [開始索引:]  從開始索引截取到字元串的最後
    [開始索引:結束索引]  從開始索引截取到結束索引之前
    [:]  截取所有字元串
    [開始索引:結束索引:間隔值]  從開始索引截取到結束索引之前按照指定的間隔截取字元
r'字元串'   元字元串,所有字元串中的轉義字元不會轉義,當作普通字元
str1 = "大金鍊子小手表,一天三頓小燒烤,青春獻給小酒桌,怎麼澎湃怎麼喝!"

print(str1[:7])
print(str1[12:15])
print(str1[-8:])
print(str1[36:])
print(str1[::3])
print(str1[::-2])
#截取"烤燒小"
print(str1[11:14:-1])
#截取 桌小獻
print(str1[-10:-15:-2])
print(str1[22:17:-2])
           

字元串函數

capitalize()

功能:首字母大寫
格式:字元串.capitalize()
傳回值:新字元串

str2 = str1.capitalize()
str3 = str1.title()
print(str2)
print(str3)
           

upper()将所有小寫字母變成大寫 lower()将所有大寫字母小寫

# str2 = str1.upper()
# print(str2)
# str3 = str2.lower()
# print(str3)
           

swapcase()大小寫互換

# str2 = str1.swapcase()
# print(str2)
           

len() 計算字元串的長度

# val = len(str1)
# print(val)
           

count() 統計字元串中某個元素的數量

# val = str1.count("a")
# print(val)
           

find() 查找某個字元串第一次出現的索引位置

# str2 = str1.find("t",2,10)
# print(str2)
           

startswith() 判斷是否以某個字元為開頭

# str2 = str1.startswith("t",4)
# print(str2)
           

endswith() 判斷是否以某個字元結尾

# str2 = str1.endswith("T")
# print(str2)
           

isupper() 判斷字元串是否都是大寫字母

# str3 = "THIS Is A"
# str2 = str3.isupper()
# print(str2)
           

islower() 判斷字元串是否都是小寫字母

# str3 = "this is "
# str2 = str3.islower()
# print(str2)
           

isalnum() 判斷字元串是否是由數字、字母、漢字組成

# str3 = "thisisa12"
# str2 = str3.isalnum()
# print(str2)
           

isalpha() 判斷字元串是否由字母和文字組成

# str3 = "thisisπ"
# str2 = str3.isalpha()
# print(str2)
           

isdigit() 判斷是否是由十進制數字組成的

# str2 = "15"
# str3 = str2.isdigit()
# print(str3)
           

isnumeric() 判斷是否是數字組成的字元串

# str2 = "123"
# str3 = str2.isnumeric()
# print(str3)
           

isdecimal() 判斷是否是數值組成的字元串

# str2 = "123"
# str3 = str2.isdecimal()
# print(str3)

# L = ["A","1","bc","26","89",22]
# sum1 = 0
# for val in L:
#     if val.isdigit():
#         val1 = int(val)
#         sum1 += val1
# print(sum1)
           

isspace() 判斷字元串是否由空白符組成

# str3 = "\r\n"
# str2 = str3.isspace()
# print(str2)
           

istitle() 判斷字元串是否每個單詞都首字母大寫

# str3 = "This Is a Test"
# str2 = str3.istitle()
# print(str2)
           

split() 按照指定的字元進行切分,預設按照空格

# str2 = str1.split()
# print(str2)
# str3 = str1.split("T")
# print(str3)
           

splitlines() 按照換行來進行切分

# str3 = "this is \n a \n test"
# str2 = str3.splitlines()
# print(str2)

# str3 = """this is
# a
# test"""
# str2 = str3.splitlines()
# print(str2)
           

join() 字元串拼接

# str1 = "@"
# str2 = "this"
# str3 = str1.join(str2)
# print(str3)
# str4 = " ".join(str2)
# print(str4)
# str5 = ["this "," is","a","test"]
# str6 = str1.join(str5)
# print(str6)
           

zfill() 填充字元串

# str1 = "this"
# str2 = str1.zfill(10)
# print(str2)
           

center() 填充字元串 然後字元串居中

# str1 = "this"
# str2 = str1.center(10,"#")
# print(str2)
           

ljust() 字元串居左填充

# str1 = "this"
# str2 = str1.ljust(10,"$")
# print(str2)
           

rjust() 字元串居右填充

# str1 = "this"
# str2 = str1.rjust(10,"%")
# print(str2)
           

strip() 去掉指定的字元串 預設去掉換行

# str1 = "this"
# print(str1)
# str2 = str1.strip("t").strip("h")
# print(str2)
           

rstrip() 從右邊去掉某個字元

# str1 = "this"
# print(str1)
# str2 = str1.rstrip("s")
# print(str2)
           

lstrip() 從左邊去掉某個字元

# str1 = "this"
# print(str1)
# str2 = str1.lstrip("t")
# print(str2)
           

maketrans() 和 translate()

"""
maketrans()
    功能:制作用于字元串替換的映射表
    格式: 字元串.maketrans('查找字元','替換字元')    兩個字元必須長度相等
    傳回值:字典

translate()
    功能:進行字元串替換操作
    格式:字元串.translate(映射表)
    傳回值:替換之後的字元串
"""

# str1 = "this is a test"
# str2 = str1.maketrans("t","Y")
# print(str2)
# str3 = str1.translate(str2)
# print(str3)
           

format 格式化字元串

文法: 它通過{}和:來代替%。

注意: 字元串的format函數可以接受無限個參數,位置可以不按順序,可以不用或者用多次,不過2.6不能為空{},2.7才可以。

順序傳參

# str1 = "{} say hello to {}"
# str2 = str1.format("jack","jerry")
# print(str2)
           

按照索引值進行傳參 注意:大括号中傳遞得是Index值,不要超出索引範圍

# str1 = "{1} say hello to {0}"
# str2 = str1.format("jack","jerry")
# print(str2)
           

按照索引來進行傳參

# str1 = "{0[1]} say hello to {0[0]}"
# str2 = str1.format(["jack","jerry"])
# print(str2)
           

關鍵字來進行傳參

# str1 = "{name} is {age} years old!"
# str2 = str1.format(name = "tom",age = 100)
# print(str2)
           

填充

"""
居中 ^
左對齊 <
右對齊 >
"""
# 填充格式寫在前邊  要填充的字元在format參數中
# str1 = "this"
# str2 = "{:$^10}".format(str1)
# print(str2)

# str1 = "this"
# str2 = "{:$<10}".format(str1)
# print(str2)

# str1 = "this"
# str2 = "{:$>10}".format(str1)
# print(str2)
           

調整精度(四舍五入)

# str1 = "{:.2f}".format(1.2434)
# print(str1)
           

進制轉換

# str1 = "{:b}".format(17)
# print(str1)
#
# str1 = "{:o}".format(17)
# print(str1)
#
# str1 = "{:d}".format(17)
# print(str1)
#
# str1 = "{:x}".format(17)
# print(str1)
           

逗号,還能用來做金額的千位分隔符:

# str1 = "{:,}".format(123456789)
# print(str1)