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

Python 去除字符串中指定字符串

 更新時(shí)間:2020年03月05日 15:33:13   作者:沙振宇  
這篇文章主要介紹了Python 去除字符串中指定字符串,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1、背景

最近的項(xiàng)目中,再次踩到Python字符串處理的坑,決定把此次解決方案記錄一下,以勿踩坑。

2、遇到坑

原本字符串:大坪英利國(guó)際8號(hào)樓88-88號(hào)重慶漢喬科技有限公司大坪英利國(guó)際8號(hào)樓
去除最左邊的字符串:大坪英利國(guó)際8號(hào)樓
預(yù)期結(jié)果:88-88號(hào)重慶漢喬科技有限公司大坪英利國(guó)際8號(hào)樓

自然而然,第一個(gè)想到的就是lstrip()函數(shù)。

Python中l(wèi)strip() 方法用于截掉字符串左邊的空格或指定字符。
但實(shí)際上結(jié)果:

lstrip: -88號(hào)重慶漢喬科技有限公司大坪英利國(guó)際8號(hào)樓

3、找到 lstrip() 坑的真相

函數(shù)原型:

def lstrip(self, chars=None): # real signature unknown; restored from __doc__
  """
  S.lstrip([chars]) -> str
  
  Return a copy of the string S with leading whitespace removed.
  If chars is given and not None, remove characters in chars instead.
  """
  return ""

看來(lái) lstrip 方法是 比對(duì)字符 并去除,而不是簡(jiǎn)單的去除最左邊字符串。
那好,再驗(yàn)證一下:

"重慶重慶師范大學(xué)".lstrip("重慶")

結(jié)果:

師范大學(xué)

那我想簡(jiǎn)單的去除字符串中的首個(gè)指定字符串,最好不用 lstrip() 了。
于是又想到了split 方法 和 replace 方法……

4、解決方案

4.1、方法1 split

函數(shù)原型:

def split(self, instring, maxsplit=_MAX_INT, includeSeparators=False):
  """
  Generator method to split a string using the given expression as a separator.
  May be called with optional C{maxsplit} argument, to limit the number of splits;
  and the optional C{includeSeparators} argument (default=C{False}), if the separating
  matching text should be included in the split results.
  
  Example::    
    punc = oneOf(list(".,;:/-!?"))
    print(list(punc.split("This, this?, this sentence, is badly punctuated!")))
  prints::
    ['This', ' this', '', ' this sentence', ' is badly punctuated', '']
  """
  splits = 0
  last = 0
  for t,s,e in self.scanString(instring, maxMatches=maxsplit):
    yield instring[last:s]
    if includeSeparators:
      yield t[0]
    last = e
  yield instring[last:]

4.2、方法2 replace

函數(shù)原型:

def replace(self, old, new, count=None):
  """
  For each element in `self`, return a copy of the string with all
  occurrences of substring `old` replaced by `new`.

  See also
  --------
  char.replace

  """
  return asarray(replace(self, old, new, count))

5、案例

5.1、源代碼

# -*- coding: utf-8 -*-
"""
Author: ZhenYuSha
CreateTime: 2020-2-26
Info: 去除字符串中 首個(gè)指定字符串
"""


def run(source, key):
  tmp_ls = source.lstrip(key)
  tmp_re = source.replace(key, "", 1)
  tmp_sp = source.split(key, 1)[1]
  return tmp_ls, tmp_re, tmp_sp


if __name__ == '__main__':
  tmp_1, tmp_2, tmp_3 = run("大坪英利國(guó)際8號(hào)樓88-88號(hào)重慶漢喬科技有限公司大坪英利國(guó)際8號(hào)樓", "大坪英利國(guó)際8號(hào)樓")
  print("test_1 lstrip:", tmp_1)
  print("test_1 replace:", tmp_2)
  print("test_1 split:", tmp_3)

  tmp_1, tmp_2, tmp_3 = run("重慶重慶師范大學(xué)", "重慶")
  print("test_2 lstrip:", tmp_1)
  print("test_2 replace:", tmp_2)
  print("test_2 split:", tmp_3)

5.2、效果

6、延伸

split 和 replace 可以解決字符串首個(gè)指定字符串去除問(wèn)題, 但去除字符串這個(gè)問(wèn)題不僅僅是去除就完了,還要去判斷是否符合我們的要求。

6.1、看字符串開(kāi)頭是否是指定字符串

如果需要以指定字符串開(kāi)頭,要用 startswith 函數(shù)來(lái)判斷。

6.2、看字符串中是否存在指定字符串

如果不存在指定字符串,直接用 split 和 replace 會(huì)直接崩潰的,那就需要 find 函數(shù)來(lái)查看了。

到此這篇關(guān)于Python 去除字符串中指定字符串的文章就介紹到這了,更多相關(guān)Python 去除字符串 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

    這篇文章主要介紹了python eval 轉(zhuǎn)換k m到乘法計(jì)算的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python+mongodb數(shù)據(jù)抓取詳細(xì)介紹

    python+mongodb數(shù)據(jù)抓取詳細(xì)介紹

    這篇文章主要介紹了python+mongodb數(shù)據(jù)抓取詳細(xì)介紹,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • Python在centos7.6上安裝python3.9的詳細(xì)教程(默認(rèn)python版本為2.7.5)

    Python在centos7.6上安裝python3.9的詳細(xì)教程(默認(rèn)python版本為2.7.5)

    這篇文章主要介紹了Python在centos7.6上安裝python3.9(默認(rèn)python版本為2.7.5)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-10-10
  • Qt實(shí)現(xiàn)炫酷啟動(dòng)圖動(dòng)態(tài)進(jìn)度條效果

    Qt實(shí)現(xiàn)炫酷啟動(dòng)圖動(dòng)態(tài)進(jìn)度條效果

    最近接到一個(gè)新需求,讓做一個(gè)動(dòng)效進(jìn)度條。剛接手這個(gè)項(xiàng)目真的不知所措,后來(lái)慢慢理清思路,問(wèn)題迎刃而解,下面小編通過(guò)本文給大家?guī)?lái)了Qt實(shí)現(xiàn)炫酷啟動(dòng)圖動(dòng)態(tài)進(jìn)度條效果,感興趣的朋友一起看看吧
    2021-11-11
  • python爬取酷狗音樂(lè)Top500榜單

    python爬取酷狗音樂(lè)Top500榜單

    大家好,本篇文章主要講的是python爬取酷狗音樂(lè)Top500榜單,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下
    2022-02-02
  • anaconda3:conda not found報(bào)錯(cuò)問(wèn)題解決

    anaconda3:conda not found報(bào)錯(cuò)問(wèn)題解決

    這篇文章主要給大家介紹了關(guān)于anaconda3:conda not found報(bào)錯(cuò)問(wèn)題解決的相關(guān)資料,Anaconda指的是一個(gè)開(kāi)源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴(lài)項(xiàng),需要的朋友可以參考下
    2023-10-10
  • python中列表添加元素的幾種方式(+、append()、extend())

    python中列表添加元素的幾種方式(+、append()、extend())

    本文主要介紹了python中列表添加元素的幾種方式(+、append()、extend()),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python使用嵌套循環(huán)實(shí)現(xiàn)圖像處理算法

    Python使用嵌套循環(huán)實(shí)現(xiàn)圖像處理算法

    這篇文章主要給大家詳細(xì)介紹Python如何使用嵌套循環(huán)實(shí)現(xiàn)圖像處理算法,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 在Ubuntu中安裝并配置Pycharm教程的實(shí)現(xiàn)方法

    在Ubuntu中安裝并配置Pycharm教程的實(shí)現(xiàn)方法

    這篇文章主要介紹了在Ubuntu中安裝并配置Pycharm教程的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python備份文件的腳本

    python備份文件的腳本

    作用:將目錄備份到其他路徑。
    2008-08-08

最新評(píng)論

古交市| 江永县| 仙游县| 铜川市| 伊通| 乐亭县| 香格里拉县| 和龙市| 广河县| 巴塘县| 兴城市| 饶河县| 前郭尔| 东台市| 潞西市| 宝清县| 卫辉市| 竹溪县| 会泽县| 宜丰县| 庄浪县| 石河子市| 光泽县| 霍城县| 屏边| 清河县| 永平县| 自治县| 扶风县| 昭觉县| 莲花县| 浦江县| 芜湖市| 泰顺县| 伽师县| 杂多县| 尉氏县| 武川县| 永昌县| 老河口市| 通化县|