假設字元串變量為S
常用字元串的方法:
S.isdigit() # 判斷字元串是否全為數字
>>> s1 = '123'
>>> s2 = 'a123'
>>> s1.isdigit()
True
>>> s2.isdigit()
False
S.isalpha() # 判斷是否全英文字元
>>> s1 = 'lsk'
>>> s2 = 'l1s2k3'
>>> s1.isalpha()
True
>>> s2.isalpha()
False
S.islower() # 判斷是否全為小寫
>>> s2 = 'Lsk'
>>> s1 = 'lsk'
>>> s1.islower()
True
>>> s2.islower()
False
S.isupper() # 判斷是否全為大寫字元串
>>> s1 = 'LSK'
>>> s2 = 'Lsk'
>>> s2.isupper()
False
>>> s1.isupper()
True
S.isspace() # 判斷字元串是否全為空白字元
>>> s1 = ' \n'
>>> s2 = ' 23'
>>> s1.isspace()
True
>>> s2.isspace()
False
S.center(width[,fill]) # 将原字元串居中,左右預設填充空格
>>> s = 'LSK'
>>> s.center(9)
' LSK '
>>> s.center(9,'*')
'***LSK***'
S.count(sub[, start[, end]]) #擷取一個字元串中子串個數
>>> s = 'lsk is a boy'
>>> s.count(' ')
3
>>> s.count(' ',0,5)
1
S.find(sub[, start[, end]]) # 擷取字元串中子串sub的索引失敗傳回-1
>>> s = 'lsk is a boy'
>>> s.find('boy')
9
>>> s[9:]
'boy'
>>> s.find('boy',0,8)
-1
S.strip() # 傳回去掉左右空白字元的字元串
>>> s = ' LSK '
>>> s.strip()
'LSK'
S.lstrip() # 傳回去掉左側空白字元的字元串
>>> s.lstrip()
'LSK '
S.rstrip() # 傳回去掉右側空白字元的字元串
>>> s.rstrip()
' LSK'
S.title() # 生成每個英文單詞首字母大寫的字元串
>>> s = 'lsk is a boy'
>>> s.title()
'Lsk Is A Boy'
S.upper() # 生成将英文轉換為大寫的字元串
>>> s.upper()
'LSK IS A BOY'
S.lower() # 生成将英文轉換為小寫的字元串
>>> s = s.upper()
>>> s.lower()
'lsk is a boy'
S.replace(old, new[,count]) # 将字元串old用new代替,生成一個新的字元串
>>> s.replace('boy','girl')
'lsk is a girl'
空白字元是指空格,水準制表符(\t) , 換行符(\n)等不可見字元
字元串格式化表達式:
作用:
生成一定格式的字元串
運算符:
%
文法:
格式字元串 % 參數值
或
格式字元串 % (參數1,參數2,...)
示例:
>>> fmt = "name: %s, age: %d"
>>> name = 'LSK'
>>> age = 24
>>> fmt % (name,age)
'name: LSK, age: 24'
格式化字元串的占位符:
%s 字元串
%r 字元串(使用repr熱不是str)
%c 整數轉為單個字元串
%d 十進制整數
%o 八進制整數
%x 十六進制整數(字元a-f小寫)
%X 十六進制整數(字元A-F大寫)
%e,%E 指數表示的浮點數
%f,%F浮點小數
%g,%G十進制形式的浮點數或指數浮點數自動轉換
%% 等同于一個字元 %
占位符% 和類型碼之間的格式文法
- 号 左對齊
+ 号 正負号
0 補零
width 寬度(整數)
pricision精度(整數)
示範:
>>> s = '%10d'%123
>>> s
' 123'
>>> len(s)
10
>>> s = '%-10d'%123
>>> s
'123 '
>>> s = '%010d'%123
>>> s
'0000000123'
>>> "%7.3f" % 3.14159265356268987932
' 3.142'
>>> "%7.2f" % 3.14159265356268987932
' 3.14'
>>> len("%7.2f" % 3.14159265356268987932)
7