突然想把python基礎再鞏固鞏固,所以寫博客來記錄一下,哪里不對,歡迎指正,下為正文。
1. 關於字符串: 字符串是不可變序列,拆分字符串是在拷貝的字符串上進行的,並不會改變原有序列
拆分字符串
split方法:此方法可以接收兩個參數,第一個參數是分隔符,默認是所有的空字符,包括 空格,換行 制表符等,拆分過程中會消耗分隔符,所以,拆分結果不包含分隔符。第二個參數 是一個數字,默認缺省 缺省時全分割,也可以用 maxsplit 來指定分割次數。
例如:
定義字符串:
s = 'Hello world' l = """Hi there , my name is blankdog do you like me """
#不傳參數時,默認分隔符為所有空字符 split_nopam = s.split() print(split_nopam)
#一個空格 split_pam = s.split(' ') print(split_pam)
#兩個空格 split_pam1 = s.split(' ') print(split_pam1)
#使用world為分隔符,會看到,split會消耗掉分隔符,而不顯示 split_pam2 = s.split('world') print(split_pam2)
#空字符包含,空格,,多個空格,換行符等 l_split = l.split() print(l_split)
split方法的第二個參數,指定分割次數,直接在第一個參數后面加一個數字(按位置傳參),或者使用 maxsplit=num 來指定
#根據空格分割三段(按位置傳參) l_split_1 = l.split(' ',3) print(l_split_1)
#根據空格分割三段(按位置傳參) l_split_1 = l.split(' ',3) print(l_split_1)
#指定參數 l_split_2 = l.split(maxsplit=3) print(l_split_2)
#錯誤用法,不按位置傳參,直接傳遞分割幾次數字參數 l.split(3)
split()方法是從左往右遍歷,與之相對的是,rsplit()方法,從右往左便利,比較少用,會有奇效
l_split_3 = l.rsplit(maxsplit=2) print(l_split_3)
拆分字符串還有一種方法, splitlines() 這個方法按照行來拆分字符串(默認分隔符 按照行('\r', '\r\n', \n')分隔),接受一個參數,True,或者 False,分別決定換行符是否被保留,默認為False,即不保留換行符
#保留換行符 s1 = """ab c d e f gh """ splitlines_True = s1.splitlines(True) print(splitlines_True)
#不保留換行符 s2 = """ab c d e f gh """ splitlines_True = s2.splitlines(False) print(splitlines_True)
列表轉字符串
join() 方法可以將列表鏈接為字符串
s_list = ['Hi','my','name','is','blank','dog'] #鏈接為以空格為分隔符 的字符串 print( ' '.join(s_list) ) #鏈接為以下划線為分隔符的字符串 print( '_'.join(s_list) )
2. 替換字符串 替換字符串的場景如下:大小寫替換,特定字符轉換,自定義片段替換....
#首個字母替換為大寫 rep_s = 'hello world' rep_res = rep_s.capitalize() print(rep_res)
#所有單詞首字母變為大寫 rep_res1 = rep_s.title() print(rep_res1)
#所有小寫字母轉換為大寫 rep_res2 = rep_s.upper() print(rep_res2)
#所有大寫寫字母轉換為小寫 rep_s1 = 'HELLO WORLD' rep_res3 = rep_s1.lower() print(rep_res3)
#所有大寫替換為小寫,小寫替換為大寫 rep_s2 = 'Hello World' rep_res4 = rep_s2.swapcase() print(rep_res4)
#所有tab建轉換為空格,tab建默認空格數是8 rep_s3 = "Hello World" rep_res5 = rep_s3.expandtabs(tabsize=4) print(rep_s3)
#替換字符串 rep_s4 = 'Hi World' rep_res6 = rep_s4.replace('Hi','Hello') print(rep_res6) #替換字符串,可以指定替換次數 rep_s5 = 'Hi World Hi World Hi World' rep_res7 = rep_s5.replace('Hi','Hello',2) print(rep_res7)
#字符串開頭空格,或者指定字符替換為空 rep_s6 = ' hello world' rep_res8 = rep_s6.lstrip('h') print(rep_res8)
#指定字符為空 rep_s6 = 'hello world' rep_res8 = rep_s6.lstrip('h') print(rep_res8)
#指定字符為空 rep_s6 = 'hello world' rep_res8 = rep_s6.lstrip('h') print(rep_res8)
#字符串末尾空格,或者指定字符替換為空 rep_s7 = 'hello world ' rep_res9 = rep_s7.lstrip() print(rep_res9)
#字符串首位空格替換,或者指定字符替換 rep_s8 = ' hello world ' rep_res10 = rep_s8.strip() print(rep_res10)
#刪除首末位置的指定字符串 rep_s9 = '************hello world**********' rep_res11 = rep_s9.strip('*') print(rep_res11)
以上,為所學習關於字符串處理的基礎,其他幾種方式后續再來補充。
