日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python从头/尾删除子符串的正确操作

發布時間:2025/3/20 python 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python从头/尾删除子符串的正确操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、說明

從某個時候發現python的字符串變量自帶的strip()方法,除了可以刪除字符串頭尾的空格,還可以用來刪除頭尾的字符串覺得很好用。也就一直這么用,一直也沒發現什么問題。

今天在修復一個bug時使用了strip()方法但從結果看bug并沒有按預期被消除,一是沒懷疑strip()刪除子字符串有什么問題,二是程個代碼比較長,三是依賴的下層庫并不太可靠,排查了大半天最后才知道是對strip()用途理解錯所致,算是吃了大虧。

二、錯誤的刪除子字符串操作示例

1 錯誤的strip()操作

假設我們有以下一個字符串,我們通過rstrip()刪除其尾部的“str”子串沒有問題,但通過rstrip()刪除其尾部的“_str”子串時卻出現問題。

# 示例字符串 test_str = "this_is_a_test_str"# 期望刪除尾部的“str”,結果與預期相符 # 預期是“this_is_a_test_”,結果也是“this_is_a_test_” test_str.rstrip("str")# 期望刪除尾部的“_str”,結果與預期不相符。 # 預期是“this_is_a_test”,實際是“this_is_a_te” test_str.rstrip("_str")


2 strip()原理說明

之所以會出現出現上邊這種不符合預期的情況,是因為strip()根本不是用來刪除“給定的字符串”的,而是用來刪除給定的字符集直到遇到不在字符集中的字符為止。

在test_str.rstrip("str")中,字符集是”s“、”t“、”r“三個字符,字符串按rstrip()指示從右向左開始查找字符進行刪除,當刪除完”str“后遇到了”“,而”“不在字符集中所以刪除就停止了,所以得到的結果是this_is_a_test_;和刪除”str“字符串結果相一致,但這只是一種巧合。

在test_str.rstrip("_str")時,字符集是”_“、”s“、”t“、”r“四個字符,字符串按rstrip()指示從右向左開始查找字符進行刪除,當刪除完”_str“后接下來的”t“和”s“仍都在字符集中所以仍被刪除,所以得到的結果是this_is_a_te,而不是this_is_a_test。

3 一個典型的字符串截取錯誤【可跳過】

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' # 示例字符串 test_str = "this_is_a_test_str"# 以下操作期望能去截去頭部的this和尾部的str # 期忘得到“is_a_test”,實際結果是“a_test_str” test_str.lstrip("this_")[:test_str.rindex("_")]

左邊為什么is_也被刪了在上一小節已經說清楚了,那為什么右邊的_str沒有被刪除呢,這是因為lstrip()并不修改原先的test_str而是返回一個新的字符串,而test_str.rindex("_")定位到的仍是原先this_is_a_test_str的”“的位置而不是新返回來a_test_str的”“的位置。

三、正確的刪除子字符串操作

有些地方說可以使用字符串自帶的replace()方法,但replace()會將所有匹配都進行替換這很粗糙,我們更多時候是想刪掉明確位置的字符串。
1 使用len()

# 示例字符串 test_str = "this_is_a_test_str"# 期望得到“this_is_a_test”,實際結果也是“this_is_a_test” test_str[:-len("_str")]


2 使用re.sub()

import re# 示例字符串 test_str = "this_is_a_test_str"# 期望得到“this_is_a_test”,實際結果也是“this_is_a_test” re.sub("_str$","",test_str)

總結

以上是生活随笔為你收集整理的Python从头/尾删除子符串的正确操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 热久久精| 亚洲国产综合久久 | 国产精品久久一区二区三区 | 成人免费影院 | 91超级碰 | 欧美大片免费看 | 蜜桃视频黄色 | 精品一区二区三区四 | 日本高清精品 | 黄色私人影院 | 免费在线观看黄色 | 一区二区三区四区五区视频 | 黄色a区| 亚洲国产精品福利 | 成年人免费看黄色 | 一眉道姑 电影 | av日韩在线免费观看 | 在线观看国产黄 | 久久精品免费网站 | 五月婷婷综合激情网 | 欧美精品区 | 天堂久久精品 | 五月天丁香网 | 伊人久久综合 | 日皮视频在线观看 | 91丨国产 | 涩涩视频在线看 | 欧美在线视频播放 | 国产精品久久久久久亚洲 | 欧美大片免费播放器 | 毛色毛片 | 精品国产免费观看 | 婷婷激情影院 | 日韩免费观看视频 | 亚洲一区二区三区在线 | 国产 欧美 精品 | 日韩精品久久久久久久的张开腿让 | 91av网址| 中文字幕日韩在线观看 | 少妇高潮喷水在线观看 | a√国产 | 在线免费成人网 | 毛片2 | 97人人在线视频 | 日韩视频在线视频 | 性高潮影院 | 成人av一级 | 五月天天 | gogo人体做爰大胆视频 | 91丝袜呻吟高潮美腿白嫩在线观看 | 上原亚衣av一区二区三区 | 法国空姐在线观看视频 | 国产一区二区三区在线观看视频 | 天天干天天操天天爱 | 国语对白清晰刺激对白 | 人人干在线视频 | 日韩人妻无码一区二区三区 | 日本美女性高潮 | 欧美一区二区性久久久 | 男人插入女人下面视频 | 欧美三级小视频 | 麻豆黄色网址 | 成人123区| 蜜芽在线视频 | 久久久精品视频在线观看 | 自拍偷拍第 | 极品在线播放 | 银娇在线观看 | 在线成人av | 国内自拍xxxx18 | 嫩草影院国产 | a级黄色片网站 | 国产一区二区视频播放 | 日韩av在线免费观看 | 十大黄台在线观看 | 日本免费一区二区三区最新 | 天天国产视频 | 小向美奈子在线观看 | 欧美日韩成人免费 | 九九精品视频在线 | 国产精品毛片一区二区 | 一区视频在线播放 | 涩涩网站入口 | 精品少妇一二三区 | 丰满多毛的大隂户视频 | 亚洲aaaaaa | 国产一级aa大片毛片 | 国产精品久久久久久久成人午夜 | 日韩丝袜一区 | 日韩欧美三级 | 国产成人精品视频在线 | 亚洲av无码一区二区三区四区 | 国产精品久久在线 | 在线观看中文字幕一区 | 一区二区三区日韩欧美 | 欧美精品久久久久 | 午夜免费 | 黄色激情小说视频 | www五月婷婷 |