常用python字符串處理
1、字符串合並和連接
加號合並
join方法合並
2、相乘和切片
line=‘*‘*30
print(line)
>>******************************
切片:
consequence[start_index:end_index:step]
表示第一個元素,正索引位置默認為0;負索引位置默認為-len(consequence)
end_index表示最後一個元素對象,正索引位置默認為len(consequence)-1;負索引位置默認為-1
print str[0:3]#截取第一位到第三位的字符 print str[:]#截取字符串的全部字符 print str[6:]#截取第七個字符到結尾 print str[:-3]#截取從頭開始到倒數第三個字符之前的不包括第三個 print str[2]#截取第三個字符 print str[-1]#截取倒數第一個字符 print str[::-1]#創造一個與原字符串順序相反的字符串 print str[-3:-1]#截取倒數第三位到倒數第一位之前的字符 不包括倒數第一位字符 print str[-3:]截取倒數第三位到結尾 print str[:-5:-3]逆序截取
三字符串的分割
普通的分割,用split,不支持多個分隔
復雜的分隔
r表示不轉義,分隔符可以是;或者,或者空格後面跟0個多個額外的空格,然後按照這個模式去分割
split(string[, maxsplit]) | re.split(pattern, string[, maxsplit]):
按照能夠匹配的子串將string分割後返回列表。maxsplit用於指定最大分割次數,不指定將全部分割。
import re
p = re.compile(r‘\d+‘)
print p.split(‘one1two2three3four4‘)
### output ###
# [‘one‘, ‘two‘, ‘three‘, ‘four‘,
4、字符串的開頭和結尾的處理
例如查找一個文件名以什麽開頭或以什麽結尾
filename=‘trace.h‘
print(filename.endwith(‘h‘))
>>True
print(filenam.startwith(‘trace‘))
>>True
5、字符串的查找和匹配
一般查找:
在長字符串裏面查找字符串,會返回字符串所在字符串的索引,否則返回-1
str.find(‘xxxx‘)
復雜的匹配:
使用import re
6、字符串的替換
普通的替換:replace
str.replace(‘被替換者‘,‘替換著‘)
復雜替換
使用正則匹配的re.sub
7、字符串去掉一些字符
去除空格 對文本處理的時候比如從文件讀取一行,然後去除每一行的兩側空格,tab或者換行符
line=‘ Congratulations, you guessed it. ‘
print(line.strip())
>>Congratulations, you guessed it.
註意:字符串內部的空格不能去掉,若要去掉需要用re模塊
復雜的文本清理,可以利用str.translate,
先構建一個轉換表,table是一個翻譯表,表示把‘t‘‘o‘轉成大寫的‘T‘ ‘O‘,
然後在old_str裏面去掉‘12345‘,然後剩下的字符串再經過table翻譯
常用python字符串處理