溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python常用字符串替換函數(shù)strip、replace及sub用法示例

發(fā)布時(shí)間:2020-09-15 15:33:46 來(lái)源:腳本之家 閱讀:186 作者:Together_CZ 欄目:開(kāi)發(fā)技術(shù)

本文實(shí)例講述了Python常用字符串替換函數(shù)strip、replace及sub用法。分享給大家供大家參考,具體如下:

今天在做一道今年秋季招聘題目的時(shí)候遇上了一個(gè)替換的問(wèn)題,題目看起來(lái)好長(zhǎng)好復(fù)雜啊,真的,一時(shí)間,我看了好幾遍也沒(méi)看懂,其實(shí)實(shí)質(zhì)很簡(jiǎn)單,就是需要把給定的一個(gè)字符串里面的指定字符替換成一些指定的內(nèi)容就行了,這樣首選當(dāng)然是字典了,沒(méi)有之一,題目很簡(jiǎn)單就不寫(xiě)出來(lái)了,在這里花了一點(diǎn)時(shí)間專門(mén)總結(jié)了一下字符串的替換的幾個(gè)常用的函數(shù),希望也能幫到有需要的人,自己也是當(dāng)做一個(gè)學(xué)習(xí)的記錄,好了,在這里就不多說(shuō)什么了,在代碼中該說(shuō)的都說(shuō)了,直接看程序:

#!/usr/bin/env python
# coding:utf-8
import re
'''''
功能:對(duì)常見(jiàn)的幾種字符串處理函數(shù)進(jìn)行測(cè)試使用學(xué)習(xí)
Author:沂水寒城
'''
def str_test():
  str_list=['We are family!!!', '00 11 22 33 44 55 66 77 88 99',
       'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
  str_dict={
    '!!!':'$$$',
    ' ':'@',
    'T':'t',
    'L':'&'
  }
  #使用replace
  '''''
  基本用法:對(duì)象.replace(rgExp,replaceText,max)
  rgExp和replaceText是必須要有的,max是可選的參數(shù)
  '''
  str_list1=str_list
  res_list=[]
  for one_str in str_list1:
    for key in str_dict:
      one_str = one_str.replace(key, str_dict[key])
    res_list.append(one_str)
  print '**************replace替換結(jié)果為:*********************'
  print str_list1
  print res_list
  #使用re
  '''''
  re.sub()有5個(gè)參數(shù),三個(gè)必選參數(shù)pattern,repl,string;兩個(gè)可選參數(shù)count,flags
  re.sub(pattern,repl,string,count,flags)
  pattern:表示正則表達(dá)式中的模式字符串;
  repl:被替換的字符串,或者是一個(gè)方法(既可以是字符串,也可以是函數(shù));
  當(dāng)repl為字符串的時(shí)候,也就是需要 將string中與pattern匹配的字符串都替換成repl
  當(dāng)repl為方法的時(shí)候,就必須是一個(gè)帶有一個(gè)參數(shù),且參數(shù)為MatchObject類型的方法,該方法需要返回一個(gè)字符串。
  string:要被處理的,要被替換的字符串;
  count:指的是最大的可以被替換的匹配到的字符串的個(gè)數(shù),默認(rèn)為0,就是所有匹配到的字符串。
  flgas:標(biāo)志位
  '''
  str_list2=str_list
  res_list=[]
  pattern_rule=re.compile(r'!!!')
  for one_str in str_list2:
    one_str = re.sub(pattern_rule, '$$$', one_str)
    res_list.append(one_str)
  print '**************sub替換結(jié)果為:*********************'
  print str_list2
  print res_list
  #使用strip()
  '''''
  個(gè)人使用strip()很久了,感覺(jué)這個(gè)函數(shù)在一些事比如字符串末尾換行符去除等方面出奇的好用,
  它并不算是一個(gè)純正意義上跟上面兩個(gè)函數(shù)類似的字符串處理的函數(shù),但是用于字符串尾部刪除等方面的時(shí)候
  效果還是很不錯(cuò)的
  '''
  str_list3=str_list
  res_list=[]
  for one_str in str_list3:
    one_str=one_str.strip('!!!')
    res_list.append(one_str)
  print '**************strip替換結(jié)果為:*********************'
  print str_list3
  print res_list
str_test()

結(jié)果如些下:

**************replace替換結(jié)果為:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We@are@family$$$', '00@11@22@33@44@55@66@77@88@99', 'trouble@is@a@friend$$$trouble@is@a@friend$$$', '&ove&ove&ove']
**************sub替換結(jié)果為:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We are family$$$', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend$$$Trouble is a friend$$$', 'LoveLoveLove']
**************strip替換結(jié)果為:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We are family', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend', 'LoveLoveLove']

這些東西應(yīng)該算得上是很順手的小工具了,特別是在一些應(yīng)用中能起到四兩撥千斤的作用,也許是夸張了哈,但是就是很喜歡這幾個(gè)小工具,所以就寫(xiě)出來(lái)分享一下,不足之處還望多多指教,大家共同學(xué)習(xí)共同進(jìn)步!

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python字符串操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python入門(mén)與進(jìn)階經(jīng)典教程》

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI