字符串方法大全

目錄

一、大小寫轉換

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 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章