Python - 字符串常用函數詳解


str.index(sub, start=None, end=None)

作用:查看sub是否在字符串中,在的話返回索引,且只返回第一次匹配到的索引;若找不到則報錯;可以指定統計的范圍,[start,end) 左閉區間右開區間

str = "helloworldhhh"

print(str.index("h")) print(str.index("hhh")) # print(str.index("test")) 直接報語法錯誤:ValueError: substring not found

執行結果

0
10

 

str.find(sub, start=None, end=None)

作用:和index()一樣,只是找不到不會報錯,而是返回-1

str = "helloworldhhh"

print(str.find("h")) print(str.find("hhh")) print(str.find("test"))

執行結果

0
10
-1

 

str.count( sub, start=None, end=None)

作用:統計子字符串的數量;可以指定統計的范圍,[start,end) 左閉區間右開區間

str = "hello world !!! hhh"

print(str.count(" "))
print(str.count(" ", 5, 10))

執行結果

3
1

 

 

str.split(str="", num=string.count(str))

作用:將字符串按照str分割成列表,如果參數 num 有指定值,則分隔 num+1 個子字符串

str = "hello world !!! hhh"

print(str.split(" "))
print(str.split(" ", 1))

執行結果

['hello', 'world', '!!!', 'hhh']
['hello', 'world !!! hhh']

 

str.strip(chars = " ")

作用:移除字符串頭尾指定的字符序列chars,默認為空格

str.lstrip(chars = " ")

作用:移除字符串頭部指定的字符序列chars,默認為空格

str.rstrip(chars = " ")

作用:移除字符串尾部指定的字符序列chars,默認為空格

str = "   hello  every  "

print("1", str.strip(), "1")
print(str.lstrip(), "1")
print("1", str.rstrip())

str = "!!! cool !!!"

print(str.strip("!"))

執行結果

1 hello  every 1
hello  every   1
1    hello  every
 cool 

 

str.replace(old,new,count= -1)

作用:把字符串中的 old(舊字符串) 替換成 new(新字符串),count代表最多替換多少次,默認-1代表全部替換

str = "hello world !!! hhh"

print(str.replace(" ", "-"))
print(str.replace(" ", "-", 1))

執行結果

hello-world-!!!-hhh
hello-world !!! hhh

 

str.join(sequence)

作用:將序列中的元素以指定的字符連接生成一個新的字符串

lists = ["1", "2", "3"]
tuples = ("1", "2", "3")

print("".join(lists))
print("".join(tuples))
print("-".join(lists))

執行結果

123
123 1-2-3

 

知識點

  • "".join(lists) 這是最常見的將列表、元組轉成字符串的寫法
  • 列表里面只能存放字符串元素,有其他類型的元素會報錯
  • 元組也能傳進去

 

str.upper()

作用:將字符串都變成大寫字母

str.lower()

作用:將字符串都變成小寫字母

str = "hello world !!! hhh"

print(str.upper())
print(str.lower())

執行結果

HELLO WORLD !!! HHH
hello world !!! hhh

 

str.startswith(prefix, start=None, end=None)

作用:檢查字符串是否是以指定子字符串開頭,如果是則返回 True,否則返回 False;可以指定統計的范圍,[start,end) 左閉區間右開區間

str.endswith(self, suffix, start=None, end=None)

作用:相反這是結尾

str = "hello world !!! hhh"

print(str.startswith("h"))
print(str.startswith("hh"))
print(str.endswith("h"))
print(str.endswith("hhhh"))

執行結果

True
False
True
False

 

str.isdigit()

作用:檢查字符串是否只由數字組成

str = "123134123"

print(str.isdigit())

執行結果

true

 

str.isalpha()

作用:檢查字符串是否只由字母組成

str = "abc"

print(str.isalpha())

執行結果

true

 

str.splitlines([keepends])

作用:將字符串按照行 ('\r', '\r\n', \n') 分隔

str = """
123
456
789
"""

print(str.splitlines())

with open("./file1.txt", encoding="utf-8") as f:
    lists = f.read().splitlines()
    print(lists)

執行結果

['', '123', '456', '789']
['name: Jack   ;    salary:  12000', ' name :Mike ; salary:  12300', 'name: Luk ;   salary:  10030', '  name :Tim ;  salary:   9000', 'name: John ;    salary:  12000', 'name: Lisa ;    salary:   11000']

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM