python中字串(str)常用操作總結
阿新 • • 發佈:2018-12-22
# 字串的常用操作方法 (都是形成新的字串,與原字串沒有關係。)
1、字串的基本操作之切片
s = 'python hello word' # 取首不取尾,取尾要+1 # 切片取出來的字串與原字串無關 print(s[6: 10]) print(s[7:: 2]) # 反向取數字需要加上反向步長 print(s[-1: -4: -1]) print(s[-1: 2]) # 取不到資料
2、把字串全部大寫或小寫upper, lower
s = 'sssdJJIs sdf' print(s.upper()) # 全部大寫 print(s.lower()) # 全部小寫
3、判讀以xx開頭或結尾startswith,endswith
s = 'alexttttt' print(s.startswith('a')) # 判斷是否以xx開頭 print(s.startswith('e', 2)) # 可切片 print(s.endswith('t')) # 判斷是否以xx結尾
4、查詢元素find ,index
s = 'chhengt' print(s.find('h')) # 通過元素找索引找到第一個就返回(可切片) print(s.find('t', 3)) print(s.find('b')) # 找不到返回 -1print(s.index(9)) # 找不到會報錯
5、strip 預設去除字元前後兩端的空格, 換行符, tab
s = 'qqwalex qqwusir barryy' print(s.strip('qqw')) print(s.strip('')) print(s.lstrip('yy')) print(s.rstrip('yy'))
6、split 把列表分割成字串
# 分割出的元素比分隔符數+1 *** # 字串變成->>>列表 s = 'qqwalex qqwusir barryy' s1 = 'qqwale;x qqwu;sir bar;ryy' print(s.split()) # 預設以空格分割 print(s1.split(';')) # 以指定字元分割 print(s1.split(';', 1)) # 指定分割多少個
7、join把字串轉成列表
# 列表轉化成字串 list --> str s = 'alex' li = ['aa', 'ddj', 'kk'] # 必須全是字串 s1 = '_'.join(s) print(s1) s2 = ' '.join(li) print(s2)
8、is系列
# 字串.isalnum() 所有字元都是數字或者字母,為真返回 Ture,否則返回 False。 # 字串.isalpha() 所有字元都是字母,為真返回 Ture,否則返回 False。 # 字串.isdigit() 所有字元都是數字,為真返回 Ture,否則返回 False。 # 字串.islower() 所有字元都是小寫,為真返回 Ture,否則返回 False。 # 字串.isupper() 所有字元都是大寫,為真返回 Ture,否則返回 False。 # 字串.istitle() 所有單詞都是首字母大寫,為真返回 Ture,否則返回 False。 # 字串.isspace() 所有字元都是空白字元,為真返回 Ture,否則返回 False。 # is 系列 name = 'taibai123' print(name.isalnum()) # 字串由數字或字母組成時返回真 print(name.isalpha()) # 字元只由字母組成時返回真 print(name.isdigit()) # 字元只由數字組成時返回真
9、count 計算字串中某個字元出現的次數 ***
# count 計算字串中某個字元出現的次數 *** s = 'fjdsklf;jdskafjdsaflsdfsdfsdafsdgsfda' print(s.count('f')) print(s.count('f',1,))
10、replace*** 替換字串中指定的字元
s = 'asdf 之一,asdf也,asdf' # replace *** s1 = s.replace('Alex', '日天') s1 = s.replace('Alex', '日天', 1) print(s1)
11、format格式化輸出
# format 格式化輸出 *** # 第一種方式: s = '我叫{}, 今年{}, 性別{}'.format('小五', 25, '女') print(s) # 第二種方式 s1 = '我叫{0}, 今年{1}, 性別{2},我依然叫{0}'.format('小五', 25, '女') print(s1) # 第三種方式 s2 = '我叫{name}, 今年{age}, 性別{sex},我依然叫{name}'.format(age=25, sex='女',name='小五',) print(s2)
12、capitalize() 首字母大寫 **
s = 'chenziwu' # capitalize() 首字母大寫 ** s1 = s.capitalize() print(s1)
13、center() 將字串居中可以設定總長度,可以設定填充物 *
# center() 將字串居中可以設定總長度,可以設定填充物 * s = 'chenziwu' s2 = s.center(50) s2 = s.center(50, '*') print(s2)
14、swapcase 大小翻轉 *
s = 'CHenziwu' # swapcase 大小翻轉 * s3 = s.swapcase() print(s3)
15、title 非字母隔開的每個單詞的首字母大寫 *
s = 'chen wuang4fhsa¥fh。f' # title 非字母隔開的每個單詞的首字母大寫 * s4 = s.title() print(s4)