最近忽然想學學python,因此就開一個專欄來寫與python有關的博客git
字符串是Python中最經常使用的數據類型。咱們可使用引號('或")來建立字符串。建立字符串很簡單,只要爲變量分配一個值便可。var1 = 'Hello World!'
或 var2 = "Runoob"
。值得注意的是,python不支持單字符串類型,單字符在python中也做爲一個字符串來使用。
api
操做符 | 描述 | 實例 |
---|---|---|
+ |
字符串鏈接 | 'abc' + 'qwe' 輸出結果: abcqwe |
* |
重複輸出字符串 | 'py'*2 輸出結果:pypy |
[] |
經過索引獲取字符串中字符 | a='aedc' -> a[1] 輸出結果 e |
[ : ] |
截取字符串中的一部分,遵循左閉右開原則 | a='well' ->a[1:4] 輸出結果 ell |
in |
成員運算符 - 若是字符串中包含給定的字符返回 True | 'H' in 'High' 輸出結果 True |
not in |
成員運算符 - 若是字符串中不包含給定的字符返回 True | 'M' not in 'High' 輸出結果 True |
r/R |
原始字符串:全部的字符串都是直接按照字面的意思來使用。 | print(r'\\\t\\') -> \\\t\\ |
符號 | 描述 |
---|---|
%c | 格式化字符及其ASCII碼 |
%s | 格式化字符串 |
%d | 格式化整數 |
%u | 格式化無符號整型 |
%o | 格式化無符號八進制數 |
%x | 格式化無符號十六進制數 |
%X | 格式化無符號十六進制數(大寫) |
%f | 格式化浮點數字,可指定小數點後的精度 |
%e | 用科學計數法格式化浮點數 |
%g | %f和%e之間自動選擇輸出格式 |
方法 | 描述 | 代碼展現 |
---|---|---|
capitalize() | 將字符串的第一個字母轉換爲大寫 | 'abc'.capitalize() -> 'Abc' |
center(width, fillchar) | 返回指定的寬度 width 居中的字符串,fillchar 爲填充的字符,默認空格。 | 'abcd'.center(10,*) -> ***abcd*** |
count(str, beg= 0,end=len(string)) | 返回 str 在 string 裏面出現的次數,beg 或者 end 指定範圍 | 'wooo'.count('o') -> 3 |
endswith(suffix, beg=0, end=len(string)) | 檢查字符串是否以 obj 結束,beg 或者 end 指定檢查指定的範圍 | 'book'.endswith('ok') -> True |
startswith(substr, beg=0,end=len(string)) | 檢查字符串是不是以指定子字符串 substr 開頭 | 'book'.startswith('ok') -> False |
expandtabs(tabsize=8) | 把字符串 string 中的 tab 符號轉爲空格,默認的空格數是 8 。 | 'abc\td'.expandtabs(10) -> abc d |
find(str, beg=0 end=len(string)) | 檢測str是否包含在字符串中,beg和end指定範圍 | 'abcd'.find('c') -> 2 |
index(str) | 跟find()方法同樣,只不過若是str不在字符串中會報一個異常. | 'abcd'.index('d') -> 3 |
isalnum() | 若是字符串至少有一個字符而且全部字符都是字母或數字則返回 True,不然返回 False | 'abc123d_'.isalnum() -> False |
join(seq) | 以指定字符串做爲分隔符,將seq合併爲一個新的字符串 | '-'.join(('a','b','c')) -> a-b-c |
lower() | 轉換字符串中全部大寫字符爲小寫. | 'ABCD'.lower() -> abcd |
lstrip() | 截掉字符串左邊的空格或指定字符。 | '---abc---'.lstrip('-') ->'abc---' |
rstrip() | 刪除字符串字符串末尾的空格. | '---abc---'.rstrip('-') ->'---abc' |
strip([chars]) | 在字符串上執行 lstrip()和 rstrip() | '---abc---'.strip('-') ->'abc' |
replace(old, new [, max]) | 把 將字符串中的 str1 替換成 str2,若是 max 指定,則替換不超過 max 次。 | '---abc---'.replace('a','c') -> ---cbc--- |
split(str=""[, num]) | num=string.count(str)) 以 str 爲分隔符截取字符串,若是 num 有指定值,則僅截取 num 個子字符串 | 'abcabcabc'.split('a',2) -> ['', 'bc', 'bcabc'] |
partition(sep) | 從左向右遇到分隔符把字符串分割成兩部分,返回頭、分割符、尾三部分的三元組。 | 'abcabcabc'.partition('b') -> ('a', 'b', 'cabcabc') |
splitlines([keepends]) | 按照行('\r', '\r\n', \n')分隔,返回一個包含各行做爲元素的列表,參數 keepends 爲 False,不包含換行符,反之保留。 | 'ab c\n\nde'.splitlines() -> ['ab c', '', 'de'] |
去除空格和逗號
s.strip().lstrip().rstrip(',')
只顯示字母與數字函數
def OnlyCharNum(s,oth=''): s2 = s.lower(); fomart = 'abcdefghijklmnopqrstuvwxyz0123456789' for c in s2: if not c in fomart: s = s.replace(c,''); return s;
截取字符串學習
str[0:3] # 截取第一位到第三位的字符 str[:] # 截取字符串的所有字符 str[6:] # 截取第七個字符到結尾 str[:-3] # 截取從頭開始到倒數第三個字符以前 str[2] # 截取第三個字符 str[-1] # 截取倒數第一個字符 str[::-1] # 創造一個與原字符串順序相反的字符串 str[-3:-1] # 截取倒數第三位與倒數第一位以前的字符 str[-3:] # 截取倒數第三位到結
字符串的測試、判斷函數測試
S.isalnum() # 是否全是字母和數字,並至少有一個字符 S.isalpha() # 是否全是字母,並至少有一個字符 S.isdigit() # 是否全是數字,並至少有一個字符 S.isspace() # 是否全是空白字符,並至少有一個字符 S.islower() # S中的字母是否全是小寫 S.isupper() # S中的字母是否即是大寫 S.istitle() # S是不是首字母大寫的