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']
