python學習之字符串

python學習之字符串

最近忽然想學學python,因此就開一個專欄來寫與python有關的博客git

1. python字符串概述

  字符串是Python中最經常使用的數據類型。咱們可使用引號('或")來建立字符串。建立字符串很簡單,只要爲變量分配一個值便可。var1 = 'Hello World!'var2 = "Runoob"。值得注意的是,python不支持單字符串類型,單字符在python中也做爲一個字符串來使用。
  api

2. Python字符串運算符

操做符 描述 實例
+ 字符串鏈接 '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\\

3. python字符串格式化

符號 描述
%c 格式化字符及其ASCII碼
%s 格式化字符串
%d 格式化整數
%u 格式化無符號整型
%o 格式化無符號八進制數
%x 格式化無符號十六進制數
%X 格式化無符號十六進制數(大寫)
%f 格式化浮點數字,可指定小數點後的精度
%e 用科學計數法格式化浮點數
%g %f和%e之間自動選擇輸出格式

4. 經常使用內建函數

方法 描述 代碼展現
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']

5. 經常使用方法

   去除空格和逗號
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是不是首字母大寫的
相關文章
相關標籤/搜索