python移除字符串尾部的数字⽅法
今天在下脚本的时候遇到⼀个问题,⽐如有这样的⼀个字符串 t = "book123456",想把尾部的数字全部去掉,只留下“book”,⾃⼰⽤正则试了下,是实现了,但速度不是很快,于是问了⼀下同事,他给的解决的⽅法确实很简洁,也让⾃⼰长了知识点,如下:
import string
t.rstrip(string.digits)
这样就全部将数字移除了,顺便将string这个模块看了下⽂档,也有⼀定的收获。
>>> import string
>>> string.digits
'0123456789'
>>> string.hexdigits
'0123456789abcdefABCDEF'
>>> digits
'01234567'
>>> string.letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r 0b 0c'
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> string.whitespace
'\t\n 0b 0c\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 移除字符串尾部的数字⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。