最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?如何截取字符函數(shù)

 更新時間:2022年11月03日 08:37:25   作者:ajklsdnal  
這篇文章主要介紹了Python?如何截取字符函數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

如何截取字符函數(shù)

在工作中我們經(jīng)常會遇到某種情況需要截取字符串中某個特定標簽之間的內(nèi)容(爬蟲可能用到的較多),適用于很多情況例如字符串形式的xml報文、json格式的字符串以及其它類型的字符串。

因為我總結(jié)了有關(guān)字符串截取的兩個函數(shù)來記錄一下,以供參考。

# 方法一:簡單截取不重復(fù)標簽中的內(nèi)容
def substr(mystr, startStr, endChar):
? ? '''
? ? 自定義字符串截取函數(shù):只從字符串中第一次遇見的內(nèi)容
? ? '''
? ? startStr_len = len(startStr)
? ? start_index = mystr.index(startStr)
? ? end_index = mystr.index(endChar)
? ? return mystr[start_index+startStr_len:end_index]
?
'''
a = 'abc111bcd abc222bcd'
result = substr(a, 'abc', 'bcd') ? ?# result='111'
'''
?
# 方法二:重復(fù)截取標簽中的內(nèi)容并將結(jié)果作為列表返回
def substr_to_list(mystr, startStr, endChar):
? ? '''自定義字符串截取函數(shù)'''
? ? result = []
? ? position = 0
? ? while True: ? ? ? ? ? ? ? ?# 因為index()函數(shù)如果沒有找到想要的內(nèi)容會報異常ValueError
? ? ? ? try: ? ? ? ? ? ?
? ? ? ? ? ? startStr_len = len(startStr)
? ? ? ? ? ? endChar_len = len(endChar)
? ? ? ? ? ? start_index = mystr.index(startStr, position)
? ? ? ? ? ? end_index = mystr.index(endChar, position)
? ? ? ? ? ? position = end_index + endChar_len
? ? ? ? ? ? result.append(mystr[start_index+startStr_len:end_index])
? ? ? ? except Exception as e:
? ? ? ? ? ? break
? ? return result
'''
a = 'abc111bcd abc222bcd'
result = substr(a, 'abc', 'bcd') ? ?# result=['111','222']
'''

效率方面就沒有考慮啦,畢竟都用python了還考慮什么效率,哈哈!

截取字符串(字符串切片)

字符串

從本質(zhì)上講,字符串是由多個字符構(gòu)成的,字符之間是有順序的,這個順序號就稱為索引(index)。Python 允許通過索引來操作字符串中的單個或者多個字符,比如獲取指定索引處的字符,返回指定字符的索引值等。

獲取單個字符

知道字符串名字以后,在方括號[ ]中使用索引即可訪問對應(yīng)的字符,具體的語法格式為:

strname[index]

strname 表示字符串名字,index 表示索引值。

Python 允許從字符串的兩端使用索引:

  • 當以字符串的左端(字符串的開頭)為起點時,索引是從 0 開始計數(shù)的;字符串的第一個字符的索引為 0,第二個字符的索引為 1,第三個字符串的索引為 2 ……
  • 當以字符串的右端(字符串的末尾)為起點時,索引是從 -1 開始計數(shù)的;字符串的倒數(shù)第一個字符的索引為 -1,倒數(shù)第二個字符的索引為 -2,倒數(shù)第三個字符的索引為 -3 ……

請看下面的實例演示:

url = 'http://c.biancheng.net/python/'
#獲取索引為10的字符
print(url[10])
#獲取索引為 6 的字符
print(url[-6])

運行結(jié)果:

i
y

獲取多個字符(字符串截去/字符串切片)

使用[ ]除了可以獲取單個字符外,還可以指定一個范圍來獲取多個字符,也就是一個子串或者片段,具體格式為:

strname[start : end : step]

對各個部分的說明:

  • strname:要截取的字符串;
  • start:表示要截取的第一個字符所在的索引(截取時包含該字符)。如果不指定,默認為 0,也就是從字符串的開頭截?。?/li>
  • end:表示要截取的最后一個字符所在的索引(截取時不包含該字符)。如果不指定,默認為字符串的長度;
  • step:指的是從 start 索引處的字符開始,每 step 個距離獲取一個字符,直至 end 索引出的字符。step 默認值為 1,當省略該值時,最后一個冒號也可以省略。

【實例1】基本用法:

url = 'http://c.biancheng.net/java/'
#獲取索引從7處到22(不包含22)的子串
print(url[7: 22]) # 輸出 zy
#獲取索引從7處到-6的子串
print(url[7: -6]) # 輸出 zyit.org is very
#獲取索引從-21到6的子串
print(url[-21: -6])
#從索引3開始,每隔4個字符取出一個字符,直到索引22為止
print(url[3: 22: 4])

運行結(jié)果:

c.biancheng.net
c.biancheng.net
c.biancheng.net
pcaen

【實例2】高級用法,start、end、step 三個參數(shù)都可以省略:

url = 'http://c.biancheng.net/java/'
#獲取從索引5開始,直到末尾的子串
print(url[7: ])
#獲取從索引-21開始,直到末尾的子串
print(url[-21: ])
#從開頭截取字符串,直到索引22為止
print(url[: 22])
#每隔3個字符取出一個字符
print(url[:: 3])

運行結(jié)果:

c.biancheng.net/java/
c.biancheng.net/java/
http://c.biancheng.net
hp/bne.ta/

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python利用dir函數(shù)查看類中所有成員函數(shù)示例代碼

    python利用dir函數(shù)查看類中所有成員函數(shù)示例代碼

    這篇文章主要給大家介紹了關(guān)于python如何利用dir函數(shù)查看類中所有成員函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習下吧。
    2017-09-09
  • 深入探究Python中的迭代器和生成器

    深入探究Python中的迭代器和生成器

    迭代器(Iterators)和生成器(Generators)是?Python?中最強大的功能之一,但也是新手最容易混淆的部分,本文將深入探討這兩種概念,以及它們在?Python?編程中的實際應(yīng)用,需要的朋友可以參考下
    2023-06-06
  • python之隨機數(shù)函數(shù)的實現(xiàn)示例

    python之隨機數(shù)函數(shù)的實現(xiàn)示例

    這篇文章主要介紹了python之隨機數(shù)函數(shù)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Python多線程掃描端口代碼示例

    Python多線程掃描端口代碼示例

    這篇文章主要介紹了Python多線程掃描端口代碼示例,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Python實現(xiàn)創(chuàng)建模塊的方法詳解

    Python實現(xiàn)創(chuàng)建模塊的方法詳解

    導(dǎo)入一個模塊,我們一般都會使用?import?關(guān)鍵字,但有些場景下?import?難以滿足我們的需要。所以除了?import?之外還有很多其它導(dǎo)入模塊的方式,下面就來介紹一下
    2022-07-07
  • 淺談Python 多進程默認不能共享全局變量的問題

    淺談Python 多進程默認不能共享全局變量的問題

    今天小編就為大家分享一篇淺談Python 多進程默認不能共享全局變量的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python eval 轉(zhuǎn)換k m到乘法計算的操作

    python eval 轉(zhuǎn)換k m到乘法計算的操作

    這篇文章主要介紹了python eval 轉(zhuǎn)換k m到乘法計算的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python腳本之如何按照清晰度對圖片進行分類

    python腳本之如何按照清晰度對圖片進行分類

    這篇文章主要介紹了python腳本之如何按照清晰度對圖片進行分類問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 用python實現(xiàn)讀取xlsx表格操作

    用python實現(xiàn)讀取xlsx表格操作

    大家好,本篇文章主要講的是用python實現(xiàn)讀取xlsx表格操作,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • 使用Python刪除文本文件中特定行的操作方法

    使用Python刪除文本文件中特定行的操作方法

    文件操作是編程中的重要方面,Python作為強大的編程語言,提供了處理文件的能力,刪除特定行是文件處理中常見的需求,本文給大家介紹了Python快速刪除文本文件中指定行的方法,文中有詳細的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12

最新評論

宁远县| 长子县| 秭归县| 舒兰市| 龙井市| 兴宁市| 灵璧县| 祁阳县| 苍南县| 政和县| 杨浦区| 赞皇县| 昭平县| 宁都县| 郎溪县| 孟村| 阿图什市| 九寨沟县| 鄂州市| 翁牛特旗| 洛扎县| 砀山县| 措美县| 安庆市| 赫章县| 阿巴嘎旗| 湖南省| 新平| 尤溪县| 三台县| 台北县| 鸡东县| 焦作市| 巫溪县| 庆城县| 天台县| 蕲春县| 都匀市| 正镶白旗| 明溪县| 阳谷县|