python移除字符串尾部的數字方法


今天在下腳本的時候遇到一個問題,比如有這樣的一個字符串 t = "huofei123456",想把尾部的數字全部去掉,只留下“huofei”,自己用正則試了下,是實現了,但速度不是很快,於是在網上查詢了下,看到了解決的方法,也讓自己長了知識點,如下:

 

import string
t.rstrip(string.digits)

這樣就全部將數字移除了,順便將string這個模塊看了下文檔,也有一定的收獲。 

>>> import string
>>> string.digits
'0123456789'
>>> string.hexdigits
'0123456789abcdefABCDEF'
>>> string.octdigits
'01234567'
>>> string.letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> string.whitespace
'\t\n\x0b\x0c\r '
>>>

同時string可以將字符串和int,float相互轉化:

 >>> string.atof("1.23")
1.23
>>> string.atof("1")
1.0

轉換的時候還可以制定進制的轉化 

>>> string.atoi("20")
20
>>> string.atoi("20",base=10)
20
>>> string.atoi("20",base=16)
32
>>> string.atoi("20",base=8)
16
>>> string.atoi("20",base=2)
Traceback (most recent call last):
File "", line 1, in <module>
File "/usr/lib64/python2.6/string.py", line 403, in atoi
return _int(s, base)
ValueError: invalid literal for int() with base 2: '20'
>>> string.atoi("101",base=2)
5
>>> string.atoi("101",base=6)
37

capwords(s, sep = None)以sep作為分隔符,分割字符串是s,然后將每個字符串的首字母大寫 

>>> string.capwords("this is a dog")
'This Is A Dog'
>>> string.capwords("this is a dog",sep=" ")
'This Is A Dog'
>>> string.capwords("this is a dog",sep="s")
'This is a dog'
>>> string.capwords("this is a dog",sep="o")
'This is a doG'
>>>

maketrans(s, r)創建一個s到r的轉換列表,然后可以使用translate()方法來實現 

>>> replist=string.maketrans("123","abc")
>>> replist1=string.maketrans("456","xyz")
>>> s="123456789"
>>> s.translate(replist)
'abc456789'
>>> s.translate(replist1)
'123xyz789'

以上這篇python 移除字符串尾部的數字方法,如有錯誤請多批評指正。謝謝各位博友 !


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM