目錄
一、大小寫轉換
1 capitalize
2 casefold
3 lower
4 upper
5 swapcase
6 title
二、查找
1、count
2、endswith
3、find
4、rfind
5、index
6、rindex
三、替換
1、expandtabs
2、replace
四、分割
1、split
2、rsplit
3、splitlines
4、partition
5、rpartition
五、編碼解碼
五、判斷類型的
1、isalnum
2、isalpha
3、isdecimal
4、isdigit
5、isidentifier
6、islower
7、isnumeric
8、isprintable
9、isspace
10 、istitle
11、isupper
12、startswith
六、格式化輸出
1、format
2、format_map
七、截取、合併、填充
1、join
2、lstrip
3、strip
4、rstrip
5、ljust
6、rjust
7、zfill
八、映射表
1、maketrans
2、translate
九、其他方法
1、center
一、大小寫轉換
1、 capitalize
def capitalize_demo(): #首字母大寫其他小寫
a="abblaHYCDsdj"
print(a.capitalize())
print(a)
capitalize_demo()
#輸出結果 Abblahycdsdj
2 、casefold
def casefold_demo(): #將所有大寫字符轉換爲小寫
a="jdsOYTHjlkA叄肆一"
print(a.casefold())
casefold_demo()
#輸出結果 jdsoythjlka叄肆一
3 、lower
def lower_demo(): #將所有大寫字符轉換爲小寫
a = "abcABC"
print(a.lower())
lower_demo()
#輸出結果 abcabc
4、 upper
def upper_demo(): #將字符串轉換爲大寫
a = "kjdhaHHH"
print(a.upper())
upper_demo()
#輸出結果 KJDHAHHH
5 、swapcase
def swapcase_demo(): #轉換字符串大小寫
a = "abcdefgHIJKLMN"
print(a.swapcase())
swapcase_demo()
#輸出結果 ABCDEFGhijklmn
6、 title
def title_demo(): #返回"標題化"的字符串,就是說所有單詞都是以大寫開始,其餘字母均爲小寫
a = "studentGrades"
print(a.title())
title_demo()
#輸出結果 Studentgrades
二、查找
1、count
def count_demo(): #返回字符在字符串裏出現的次數
a="abcdeabca"
print(a.count("a",3,9)) #參數分別是待搜索字符,開始位置,結束位置
count_demo()
#輸出結果 2
2、endswith
def endswith_demo(): #檢查字符串是否以指定字符結尾
a="abcdeabca"
print(a.endswith("a")) #參數分別是待搜索字符,開始位置,結束位置
endswith_demo()
#輸出結果 True
3、find
def find_demo(): #指定範圍內查找字符串,若存在返回索引,若無返回-1
a="kahduiqhfbsd"
print(a.find("a",0,1)) #參數分別是待查找字符,開始位置,結束位置
find_demo()
#輸出結果 -1
4、rfind
def rfind_demo(): #從右邊查找字符,返回第一個找到的索引,若無返回-1
a = "abdcdefg"
print(a.rfind("d"))
rfind_demo()
#輸出結果 4
5、index
def index_demo(): #查找字符串,若有返回索引,若無報錯
a = "abcdefg"
print(a.index("c"))
# print(a.index("k"))
try:
print(a.index("k"))
except Exception as e:
print(e)
index_demo()
#輸出結果
2
substring not found
6、rindex
def rindex_demo(): #從右邊查找字符,返回第一個找到的索引,若無報錯
a = "abcdedfg"
print(a.rindex("d"))
rindex_demo()
#輸出結果 5
三、替換
1、expandtabs
def expandtabs_demo(): #將tab轉換爲空格
a="ab cdea bca"
print(a.split(" "))
b=a.expandtabs()
print(b.split(" "))
expandtabs_demo()
輸出結果
['ab', '', '', '', '', '', '', 'cdea', 'bca']
['ab', '', '', '', '', '', '', 'cdea', 'bca']
2、replace
def replace_demo(): #替換字符串 若num指定(第三個參數),則替換次數不超過num次
a="abcdefgcccc"
b=a.replace("c","H",3)
print(b)
replace_demo()
輸出結果
abHdefgHHcc
四、分割
1、split
def split_demo(): #以指定字符分割字符串,默認爲空格
a="abc dcefg hijkclmn"
print(a.split())
print(a.split("c",1)) #第二個參數爲分割次數,默認爲-1(分割所有)
split_demo()
輸出結果
['abc', 'dcefg', 'hijkclmn']
['ab', ' dcefg hijkclmn']
2、rsplit
def rsplit_demo(): #分割字符串
a = "abcdecfg"
print(a.rsplit("c",1)) #第二個參數分割次數,默認-1(分割所有)
rsplit_demo()
#輸出結果
['abcde', 'fg']
3、splitlines
def splitlines_demo(): #將每行元素分割形成一個列表,參數默認False,爲True保留轉義符
a = " as d\nk kj\rks \r\n jsdkj"
print(a.splitlines())
print(a.splitlines(True))
splitlines_demo()
輸出結果
[' as d', 'k kj', 'ks ', ' jsdkj']
[' as d\n', 'k kj\r', 'ks \r\n', ' jsdkj']
4、partition
def partition_demo(): #根據指定參數將字符分割爲三部分,若指定字符串不存在則返回的第一個參數爲原字符串,其他爲空
a = "abcdef"
b=a.partition("c")
c=a.partition("h")
print(b,c)
partition_demo()
輸出結果
('ab', 'c', 'def') ('abcdef', '', '')
5、rpartition
def rpartition_demo(): #根據指定參數從右邊搜索分隔符,將字符分割爲三部分,若指定字符串不存在則返回的第一個參數爲原字符串,其他爲空
a = "abcdefg"
print(a.rpartition("d"))
rpartition_demo()
輸出結果
('abc', 'd', 'efg')
五、編碼解碼
def encode_decode_demo():
a="abcdeabca"
b=a.encode(encoding="utf-8") #編碼
print(b)
c=b.decode(encoding="utf-8") #解碼
print(c)
encode_decode_demo()
輸出結果
b'abcdeabca'
abcdeabca
五、判斷類型的
1、isalnum
def isalnum_demo():#如果 string 至少有一個字符並且所有字符都是字母或數字或中文則返回 True,否則返回 False
a = "<,"
b="我"
c="lsdj1234"
print(a.isalnum())
print(b.isalnum())
print(c.isalnum())
isalnum_demo()
輸出結果
False
True
True
2、isalpha
def isalpha_demo():#如果 string 至少有一個字符並且所有字符都是字母則返回 True,否則返回 False
a = "123jasoijo"
b = "jasoijo"
print(a.isalpha())
print(b.isalpha())
isalpha_demo()
輸出結果
False
True
3、isdecimal
def isdecimal_demo(): #只包含十進制數字,若是返回True,否則返回False
a="010101"
print(a.isdecimal())
isdecimal_demo()
輸出結果
True
4、isdigit
def isdigit_demo():#判斷是否全是數字,若是返回True,否則返回False
a="2324t"
print(a.isdigit())
isdigit_demo()
輸出結果
False
5、isidentifier
def isidentifier_demo(): #判斷變量名是否合法(不包含內置變量)
a="def"
print(a.isidentifier())
isidentifier_demo()
輸出結果
True
6、islower
def islower_demo(): #判斷字母是否全是小寫
a="ejwoee"
print(a.islower())
islower_demo()
輸出結果
True
7、isnumeric
def isnumeric_demo():#判斷是否全是數字,若是返回True,否則返回False
a="23"
print(a.isnumeric())
isnumeric_demo()
輸出結果
True
8、isprintable
def isprintable_demo(): #若字符串都是可打印的或爲空返回True 否則返回False
a="jweoif\nwfr" #含有轉義符
b="skj"
print(a.isprintable())
print(b.isprintable())
isprintable_demo()
輸出結果
False
True
9、isspace
def isspace_demo(): #判斷字符串是否全是空格
a="dso lj"
b=" "
print(a.isspace())
print(b.isspace())
isspace_demo()
輸出結果
False
True
10 、istitle
def istitle_demo(): #判斷字符串是否是標題化的
a="Demo"
b="demo"
print(a.istitle())
print(b.istitle())
istitle_demo()
輸出結果
True
False
11、isupper
def isupper_demo(): #字符串包含至少一個區分大小寫的字符,且這些字符全部大寫返回True 否則返回False
a = "32134"
b = "923uLheiu"
c = "KKHK"
print(a.isupper())
print(b.isupper())
print(c.isupper())
isupper_demo()
輸出結果
False
False
True
12、startswith
def startswith_demo(): #檢查指定範圍內的字符是否是以指定的字符開頭
a = "abcdefg"
print(a.startswith("c",2,6)) #參數分別爲待查找字符,開始位置,結束位置
startswith_demo()
輸出結果
True
六、格式化輸出
1、format
def format_demo(): #格式化輸出字符串
name = "小鄧"
msg="喫飯了麼?"
print("Hello,%s,%s"%(name,msg))
print(name,msg.format())
format_demo()
輸出結果
Hello,小鄧,喫飯了麼?
小鄧 喫飯了麼?
2、format_map
def format_map_demo(): #格式化輸出字符串
name="小鄧"
print(name.format_map(name))
format_map_demo()
輸出結果
小鄧
七、截取、合併、填充
1、join
def join_demo(): #合併字符串
a="$$"
seq=["a","","b","c",""]
print(a.join(seq)) #以a爲分隔符合並seq中的元素
join_demo()
輸出結果
a$$$$b$$c$$
2、lstrip
def lstrip_demo(): #截取掉首字符左邊的空格
a = " a bcd abbb"
b=a.lstrip()
print(b,"a:",len(a),"b:",len(b))
lstrip_demo()
輸出結果
a bcd abbb a: 18 b: 16
3、strip
def strip_demo(): #刪除首尾的字符或字符序列(默認爲空格或回車)
a = " oidsjjaso "
b = " jdsoilossssss"
print(a.strip())
print(b.strip("s"))
strip_demo()
輸出結果
oidsjjaso
jdsoilo
4、rstrip
def rstrip_demo(): #刪除字符串末尾指定字符,默認空格
a = " ab cdefg "
b = " abcd efg"
print(a.rstrip())
print(b.rstrip("g"))
rstrip_demo()
輸出結果
ab cdefg
abcd ef
5、ljust
def ljust_demo(): #返回一個原字符串,左對齊,右邊用空格填充至指定長度
a = "abc"
b= a.ljust(10)
print(b,len(b))
ljust_demo()
輸出結果
abc 10
6、rjust
def rjust_demo(): #返回一個原字符串,右對齊,左邊用空格填充至指定長度
a = "abcdefg"
print(a.rjust(10))
rjust_demo()
輸出結果
abcdefg
7、zfill
def zfill_demo(): #字符串右對齊,左邊用0填充至指定長度
a = "ldja"
print(a.zfill(10))
zfill_demo()
輸出結果
000000ldja
八、映射表
1、maketrans
def maketrans_demo(): #創建字符映射轉換表,第一個參數是待轉換字符,第二個參數是目標字符 返回的是ASCII碼
a = "abcdefg"
b = a.maketrans("h","H")
print(a)
print(b)
maketrans_demo()
輸出結果
abcdefg
{104: 72}
def maketrans_demo(): #創建字符映射轉換表,第一個參數是待轉換字符,第二個參數是目標字符 返回的是ASCII碼
a = "abcdefg" #暫時看不懂
b = "1234567"
table = a.maketrans(a,b)
print(table)
maketrans_demo()
輸出結果
{97: 49, 98: 50, 99: 51, 100: 52, 101: 53, 102: 54, 103: 55}
2、translate
def translate_demo(): #根據給出的錶轉換字符
a = "abcdefg"
b = "1234567"
table = a.maketrans(a,b)
print(table)
str = "abcdefghhhhijklmn"
print(str.translate(table))
translate_demo()
輸出結果
{97: 49, 98: 50, 99: 51, 100: 52, 101: 53, 102: 54, 103: 55}
1234567hhhhijklmn
九、其他方法
1、center
def center_demo(): #返回字符串居中且兩邊用空格填充至指定的字符串長度
a="jdsOYTHjlkA"
print(a.center(50))
center_demo()
輸出結果
jdsOYTHjlkA