微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

今天小编就为大家分享一篇python 移除字符串尾部的数字方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

今天在下脚本的时候遇到一个问题,比如有这样的一个字符串 t = "book123456",想把尾部的数字全部去掉,只留下“book”,自己用正则试了下,是实现了,但速度不是很快,于是问了一下同事,他给的解决方法确实很简洁,也让自己长了知识点,如下:

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!"#$%&'()*+,-./:;?@[\]^_`{|}~ tnrx0bx0c' >>> string.punctuation '!"#$%&'()*+,-./:;?@[\]^_`{|}~' >>> string.whitespace 'tnx0bx0cr ' >>>

同时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 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'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐