溫馨提示×

溫馨提示×

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

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

怎么在Python中使用字符串過濾模塊

發(fā)布時(shí)間:2021-03-18 15:38:39 來源:億速云 閱讀:454 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)怎么在Python中使用字符串過濾模塊,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識(shí)有一定的了解。

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

#字符串切片 string[開始位置:結(jié)束位置:步長]
name = "鞏祎鵬"print(name[0:])
 #從第一個(gè)字符截取到最后一個(gè)字符
print(name[0:2]) 
#從第一個(gè)字符截取到第二個(gè)字符
print(name[:3]) 
#從第一個(gè)字符截取到第三個(gè)個(gè)字符
print(name[0:3:2])
 #從第一個(gè)字符截取到最后一個(gè)字符,每次步長為2

輸出結(jié)果如下:

鞏祎鵬
鞏祎
鞏祎鵬
鞏鵬

分割字符串:

#分割字符串 split()函數(shù) string.splist(sep,maxsplit)
#string.splist(用于指定分隔符(如果沒有參數(shù),默認(rèn)為None即空格),
分割次數(shù)(默認(rèn)為-1,即沒有限制))
#eg
word ="所 有 風(fēng) 光 的 背 后,最 終 都 要 用 孤 獨(dú) 來 償 還"
print(word.split()) #默認(rèn)為用空格進(jìn)行分割
print(word.split(',')) #使用逗號(hào)(,)進(jìn)行分割
print(word.split(' ',5)) #使用空格(None) 來進(jìn)行分割,且只分割前五個(gè)字符

輸出結(jié)果如下:

['所', '有', '風(fēng)', '光', '的', '背', '后,最', '終', '都', '要', '用', '孤', '獨(dú)', '來', '償', '還']
['所 有 風(fēng) 光 的 背 后', '最 終 都 要 用 孤 獨(dú) 來 償 還']
['所', '有', '風(fēng)', '光', '的', '背 后,最 終 都 要 用 孤 獨(dú) 來 償 還']

可以看出,分割完字符串后,返回值為數(shù)組.

檢索字符串:count()函數(shù) 以及 find()函數(shù) index()函數(shù) startswitch()函數(shù) endswitch()函數(shù)

#count()方法 返回值為:int 用于檢索指定字符在另外一個(gè)字符串中出現(xiàn)的次數(shù),如果檢索的字符不存在則會(huì)返回0.
#語法為string.count(sub[start[end]]) string:被檢索的字符串 sub:要檢索的字符 start:可選,開始位置 end:可選,結(jié)束位置
#eg:
demoStr = "@中國,@美國,@英國"
print(demoStr.count('@'))
print(demoStr.count('國'))

輸出結(jié)果如下:

3
3

find()函數(shù)

#find()函數(shù) 返回值為:int 用于檢索指定字符在另外一個(gè)字符串中第一次出現(xiàn)的下標(biāo),如果沒有發(fā)現(xiàn)字符則會(huì)返回-1
#語法為string.find(sub[start[end]]) string:被檢索的字符串 sub:要檢索的字符 start:可選,開始位置 end:可選,結(jié)束位置
#eg:
testStr = "123123123"
print(testStr.find('1'))
print(testStr.find('3'))

輸出結(jié)果如下:

0
2

index()方法 返回值為:int 與find()方法類似 只是如果index()方法沒有查找到字符將會(huì)拋出異常

startswitch()方法與endswitch()方法

#startswitch()方法與endswitch()方法 返回值:boolean
 用于檢索是否以指定字符串開頭亦或者是結(jié)尾
#語法:string.startswitch(sum[,start[,end]]) string.endswitch(sum[,start[,end]])
#eg:
email = "g2982272986@qq.com"
print(email.startswith('g'))
print(email.endswith('.com'))

輸出結(jié)果如下:

True
True

字符串轉(zhuǎn)換大小寫 lower()方法 upper()方法

#lower()轉(zhuǎn)小寫 語法: string.lower()
#eg:
demoStr_lower = "sfSLDFsdlfk"
print("原字符串為"+demoStr_lower)
print("轉(zhuǎn)換后為:"+demoStr_lower.lower())
#upper()轉(zhuǎn)大寫 語法:string.upper()
#eg:
demoStr_upper = "sfSLDFsdlfk"
print("原字符串為"+demoStr_upper)
print("轉(zhuǎn)換后為:"+demoStr_upper.upper())

輸出結(jié)果:

原字符串為sfSLDFsdlfk
轉(zhuǎn)換后為:sfsldfsdlfk
原字符串為sfSLDFsdlfk
轉(zhuǎn)換后為:SFSLDFSDLFK

過濾字符串: re模塊中的sub函數(shù)

直接上代碼,看完演示就懂了

#定義一個(gè)函數(shù)來過濾字符串
#語法:#sub(repl, string[, count]) 或 re.sub(pattern, repl, string[, count]):
#第一個(gè)參數(shù):需要屏蔽的關(guān)鍵詞 第二個(gè)參數(shù):過濾后替換原來關(guān)鍵字的字符串 第三個(gè)參數(shù):需要過濾的字符串
#使用repl替換string中每一個(gè)匹配的子串后返回替換后的字符串。

def filterfar(string):
  """
  用于過濾字符串
  :param 需要過濾的字符串: 參數(shù)
  :return: 過濾后的字符串
  """
  # 導(dǎo)入模塊
  import re
  #需要過濾的關(guān)鍵字
  string_re = r"(黑客)|(監(jiān)聽)"
  #過濾字符串
  sub = re.sub(string_re,"= =!",string) #第一個(gè)參數(shù):需要屏蔽的關(guān)鍵詞 第二個(gè)參數(shù):過濾后替換的問題 第三個(gè)參數(shù):需要過濾的字符串
  print(sub)
#打印輸出
filterfar("我是一名黑客")
filterfar("我現(xiàn)在正在監(jiān)聽你")

輸出結(jié)果:

我是一名= =!
我現(xiàn)在正在= =!你

關(guān)于怎么在Python中使用字符串過濾模塊就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

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

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

AI