python字串擷取操作
阿新 • • 發佈:2018-11-13
寫在最前面:
給定一個字串str,str[begin:end:step],這三個順序永遠不變
step > 0
begin在end的右邊
step < 0
begin在end的左邊
舉個例子:
mystring = '12345abcde'
1 | 2 | 3 | 4 | 5 | a | b | c | d | e |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
-10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
表格中第一行是要處理的字串,第二行是正序的下標,第三行是逆序的下標
下面是常見的字串擷取操作:
mystring = '12345abcde' print('擷取第1位到第5位的字元:', mystring[0:5]) # 擷取第1位到第5位的字元 print('擷取字串的全部字元', mystring[:]) # 擷取字串的全部字元 print('擷取第5個字元到結尾:', mystring[5:]) # 擷取第6個字元到結尾 print('擷取從頭開始到倒數第3個字元之前:', mystring[:-3]) # 擷取從頭開始到倒數第3個字元之前 print('擷取第5個字元;', mystring[4]) # 擷取第5個字元 print('擷取倒數第3個字元:', mystring[-3]) # 擷取倒數第3個字元 print('擷取倒數第3位與倒數第1位之前的字元;', mystring[-3:-1]) # 擷取倒數第3位與倒數第1位之前的字元 print('擷取倒數第三位到結尾:', mystring[-3:]) # 擷取倒數第三位到結尾 print('逆序擷取從倒數第1個到倒數第5個,步長為-1,預設begin為-1:', mystring[:-5:-1]) # 逆序擷取從倒數第1個到倒數第5個,步長為-1,預設begin為-1 print('逆序擷取從倒數第1個到倒數第5個,步長為1,預設begin為0:', mystring[:-5:1]) # 逆序擷取從倒數第5個到倒數第2個,步長為1,預設begin為0 print('逆序擷取全部字元:', mystring[::-1]) # 逆序輸出全部字元 print('逆序擷取倒數第3個到倒數第10個,步長為3:', mystring[-3:-10:-3]) #逆序擷取倒數第3個到倒數第10個,步長為3
輸出結果:
擷取第1位到第5位的字元: 12345 擷取字串的全部字元 12345abcde 擷取第5個字元到結尾: abcde 擷取從頭開始到倒數第3個字元之前: 12345ab 擷取第5個字元; 5 擷取倒數第3個字元: c 擷取倒數第3位與倒數第1位之前的字元; cd 擷取倒數第三位到結尾: cde 逆序擷取從倒數第1個到倒數第5個,步長為-1,預設begin為-1: edcb 逆序擷取從倒數第1個到倒數第5個,步長為1,預設begin為0: 12345 逆序擷取全部字元: edcba54321 逆序擷取倒數第3個到倒數第10個,步長為3: c52 Process finished with exit code 0