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

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 移除字符串尾部的数字方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: python 移除字符串尾部的数字方法

本文地址: http://www.cppcns.com/jiaoben/python/234758.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值