網站首頁 編程語言 正文
前言
Python 提供了很多截取字符串的方法,被稱為“切片(slicing)”。
模版如下:
string[start: end: step]
其中,
- start:起點位置,子字符串的起始索引。該索引處的字符包含在子字符串中。start 為空時則默認為 0。
- end:終點位置,子字符串的終止索引。該索引處的字符不包括在子字符串中。end 為空時,或者指定的值超過字符串的長度,則默認它等于字符串的長度。
- step:步長,當前字符之后和目標字符之間的距離。step 為空時,則默認值為 1。
模版
- string[start:end]:獲取從 起點位置 到 終點位置 - 1 的所有字符
- string[:end]:獲取從 字符串開頭 到 終點位置 - 1 的所有字符
- string[start:]:獲取從 起點位置 到字符串結尾的所有字符
- string[start:end:step]:獲取從 起點位置 到 終點位置 - 1 的,每個之間距離 步長 的所有字符
示例
獲取字符串的前 5 個字符
string = "freeCodeCamp"
print(string[0:5])
輸出:
> freeC
注意:print(string[:5]) 和 print(string[0:5]) 返回的結果一樣
獲取從第 3 個字符開始,長度為 4 的截取字符串
string = "freeCodeCamp"
print(string[2:6])
輸出:
> eeCo
請注意,起點或終點位置索引可能為負數。負索引的意思是從字符串的末尾開始而不是從開頭開始(即從右到左)開始計數。索引-1 代表字符串的最后一個字符,-2 代表倒數第二個字符,依此類推……
獲取字符串的最后一個字符
string = "freeCodeCamp"
print(string[-1])
輸出:
> p
獲取字符串的末尾 5 個字符
string = "freeCodeCamp"
print(string[-5:])
輸出:
> eCamp
獲取一個截取字符串,包括除了末尾 4 個和開頭第一個字符的所有字符
string = "freeCodeCamp"
print(string[1:-4])
結果:
> reeCode
更多示例
str = “freeCodeCamp”
print str[-5:-2] # prints ‘eCa'
print str[-1:-2] # prints ‘' (empty string)
每個字符之間間隔一個索引
string = "freeCodeCamp"
print(string[::2])
結果:
> feCdCm
補充:根據指定字符截取字符串
先獲取字符的下標位置;
再通過以上的方法截取;
Python提供index 函數,檢測字符串中是否包含子字符串,通常表現為 某些特定字符,特定單詞;a.index(b, begin, end),a為需要校驗字符串,b為字符串,begin 為開始截取的字符的下標(默認為0),end結束字符下標(默認為字符長度)
示例:
str1 = "Hello.python";
str2 = ".";
print str1.index(str2);#結果5
print str1.index(str2, 2);#結果5
print str1.index(str2, 10);#結果報錯,沒找到子字符串
?綜合以上所述,按照字符截圖示例
str1 = "Hello.python";
str2 = ".";
print str1.index(str2);#結果5
print str1[:str1.index(str2)] ? ? #獲取 "."之前的字符(不包含點) ?結果 Hello
print str1[str1.index(str2):] ; #獲取 "."之前的字符(包含點) 結果.python
總結
原文鏈接:https://blog.csdn.net/pydby01/article/details/121961882
相關推薦
- 2022-06-04 c#中String類型的存儲原理詳解_C#教程
- 2023-01-28 詳解如何利用C#實現漢字轉拼音功能_C#教程
- 2022-12-09 ReactQuery系列React?Query?實踐示例詳解_React
- 2022-03-03 手寫一個angular中帶checkbox的table組件
- 2022-05-08 Python進程間的通信一起來了解下_python
- 2022-09-14 如何使用R語言做邏輯回歸詳解_R語言
- 2023-04-17 Linux下is?not?in?the?sudoers?file的解決方案_linux shell
- 2022-12-10 C++實現線程同步的四種方式總結_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支