前言
日常使用python經常要對文本進行處理,無論是爬蟲的數據解析,還是大數據的文本清洗,還是普通文件的處理,都是要用到字符串. Python對字符串的處理內置了很多高效的函數,非常方便功能很強大.下面是我總結的常用的7招,有了這幾招就能輕松應對字符串處理.
一、字符串的連接和合并
連接和合并
相加 //兩個字符串可以很方便的通過'+'連接起來
合并//用join方法
二、字符串的切片和相乘
相乘//比如寫代碼的時候要分隔符,用python很容易實現
1
2
3
4
5
|
line = '*' * 30 print (line) >> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
切片
三、字符串的分割
普通的分割,用split
split只能做非常簡單的分割,而且不支持多個分隔
1
2
3
4
5
|
phone = '400-800-800-1234' print (phone.split( '-' )) >>[ '400' , '800' , '800' , '1234' ] |
復雜的分割
r表示不轉義,分隔符可以是;或者,或者空格后面跟0個多個額外的空格,然后按照這個模式去分割
四、字符串的開頭和結尾的處理
比方我們要查一個文件的名字是以什么開頭或者什么結尾
1
2
3
4
5
6
7
8
9
|
filename = 'trace.h' print (filename.endswith( 'h' )) >> True print (filename.startswith( 'trace' )) >> True |
五、字符串的查找和匹配
一般查找
我們可以很方便的在長的字符串里面查找子字符串,會返回子字符串所在位置的索引, 若找不到返回-1
復雜的匹配
六、字符串的替換
普通的替換//用replace就可以
復雜的替換//若要處理復雜的或者多個的替換,需要用到re模塊的sub函數
七、字符串中去掉一些字符
去除空格//對文本處理的時候比如從文件中讀取一行,然后需要去除每一行的兩側的空格,table或者是換行符
1
2
3
4
5
|
line = ' Congratulations, you guessed it. ' print (line.strip()) >>Congratulations, you guessed it. |
注意:字符串內部的空格不能去掉,若要去掉需要用re模塊
復雜的文本清理,可以利用str.translate
,
先構建一個轉換表,table是一個翻譯表,表示把't''o'轉成大寫的'T' 'O',
然后在old_str里面去掉'12345',然后剩下的字符串再經過table翻譯
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。
原文鏈接:https://ask.hellobi.com/blog/caoniao_xueyuan/7062