字串的相關操作,例子以及應用
阿新 • • 發佈:2018-12-04
1.把首字母大寫,返回給你一個新的字串
capitalize()
s = "abcdefg" s1 = s.capitalize() # 把首字母變成大寫, 返回給你一個新的字串 print(s) # 字串不可變. 原字串是不會發生改變的 print(s1)
2.所有的字母變成大寫字母(重點)
upper()
s = "alex sb dsb bigsb" s3 = s.upper() # 所有的字母變成大寫字母(重點) print(s3)
3.所有字母變小寫
lower()
casefold() 支援特殊文字
s = "Alex Is Not A GooD mAN" s4 = s.lower() # 有問題的. 對歐洲特殊文字是不識別的 print(s4) s = "Alex Is Not A GooD mAN" s5 = s.casefold() # 支援特殊文字 print(s5) s2 = "БBß" # 俄美德 print(s2) print(s2.lower()) print(s2.casefold())
4.大小轉換:
swapcase()
小變大,大變小
s = "wusir 昨天 Love 了 女神. guo fen 了" print(s.swapcase()) # 大變小, 小變大
5.居中
center()
center() 中間. 居中 s = "alex" s6 = s.center(10, "*") # 長度, 用_填充 print(s6)
6.去掉兩端的空白
strip()
s = "\n\nalex is sb " print(s) s7 = s.strip() # 去掉左右兩端的空白(空格, \t, \n), 中間的內容不會動 print(s7)
應用:
除了登陸驗證外還可以去除兩端的字元
uname = input("請輸入你使用者名稱:").strip() # 幹掉使用者的空格 upws = input("請輸入你的密碼:").strip() # 幹掉使用者的空格 if uname =="alex" and upws == "123": print("登入成功") else: print("登入失敗") s = "sbalexsbwusirsb" print(s.strip("sb")) # 去掉左右兩端的sb
7.字元替換:
replace()
s = " good alex good wusir good 大蝦 good 胡辣湯 " s8 = s.replace("good", "sb") # 把s中的good替換成sb print(s8) s9 = s.replace(" ", "") print(s9) s10 = s.replace("good", "sb", 2) # 字串替換2次 print(s10)
8.字串切割
split()
s = "alex 昨天給我們漲工資了? 不可能" lst = s.split("alex") # 切出來的結果會放在列表中, 刀如果把頭了. 一定會產生空字串 print(lst)
9.格式化輸出
name = "alex" age = 18 hobby = "wusir" print("領導叫%s, 今年%d, 喜歡%s" % (name, age, hobby)) print("領導叫{}, 今年{}, 喜歡{}".format(name, age, hobby)) print("領導叫{1}, 今年{0}, 喜歡{2}".format(name, age, hobby)) # 程式設計師數數從0開始 print("領導叫{na}, 今年{age}, 喜歡{hobby}".format(na = name, age = age, hobby = hobby)) print(f"領導叫{name}, 今年{age}, 喜歡{hobby}")
10.判斷字串是否以xxx開頭或者是xxx結尾
startswith():判斷字串是否以xxx開頭
endwith():判斷字串是否以xxx結尾
這裡只有開頭的例子,同理自己去練習以xxx結尾
s = "java_python_區塊鏈_大資料" print(s.startswith("python")) # 判斷xxx是否已xxx開頭. name = input("請輸入你的名字:") # 張開 致青春 if name.startswith("張"): print("領錢") else: print("不領錢")
11.計數
count()
s = "alex is big sb" print(s.count("i")) # 計數
12.查詢
(1)find() 查詢, 如果存在. 返回索引. 如果不存在返回-1
(2)index() 查詢,如果找到了返回索引. 找不到. 報錯
s = "滋滋冒油的豬蹄子" # print(s.find("牛")) # 用這個 # index() 如果找到了返回索引. 找不到. 報錯 # print(s.index("牛"))
13.判斷字串的組成
(1)isalpha() 是否是由基本的文字組成. 是否是由字母組成(包括中文)
(2)是否由數字組成
isdigit() 是否由數字組成(阿拉伯數字)
isnumeric()
= "alexwusir" print(s.isalpha()) # 是否是由基本的文字組成. 是否是由字母組成(包括中文) s = "123456798一" # digit 數字 %d print(s.isdigit()) # 阿拉伯數字 s = "123456789一二三壹仟貳佰壹拾伍叄" print(s.isnumeric()) # number
14.字串的長度
len()
s = "我叫周潤發,我喜歡DNF" print(len(s)) # 字串長度, 內建函式
15.for迴圈來遍歷字串
for迴圈來遍歷字串
for: 迴圈
c: 變數
in : 固定的
s: 你要遍歷的內容
for c in s: # 把字串s中的每一個元素拿到賦值給前面的c
print(c)
for迴圈有一個先決條件. 必須是可迭代物件.
缺點: 無法看到字元的索引.
'''
for 變數 in 可迭代物件:
迴圈體(break, continue)
'''
有while把每句話的每一個字元拿到。例子:
s = "風扇哥門神燈神哈哈我的天哪" # len(s) # 用while迴圈. 獲取到每一個字元 i = 0 # 索引 while i < len(s): print(s[i]) i += 1