如何从Python 3.x中删除字符串末尾的数字?

时间:2016-11-19 09:54:18

标签: python-3.x split

我有一个问题。我想从字符串末尾删除数字,但我不知道。可以使用split()方法吗?我怎样才能使用?最初的字符串就像'asdfg123 ',我只想要'asdfg'而不是。谢谢你的帮助!

3 个答案:

答案 0 :(得分:8)

不,拆分不起作用,因为拆分只能使用固定字符串来拆分。

您可以使用str.rstrip() method

import string

cleaned = yourstring.rstrip(string.digits)

这使用string.digits constant作为需要删除内容的方便定义。

或者您可以使用正则表达式将末尾的数字替换为空字符串:

import re

cleaned = re.sub(r'\d+$', '', yourstring)

答案 1 :(得分:2)

您可以将str.rstrip用于要删除字符串尾随字符的数字字符:

>>> 'asdfg123'.rstrip('0123456789')
'asdfg'

或者,您可以使用string.digits代替'0123456789'

>>> import string
>>> string.digits
'0123456789'
>>> 'asdfg123'.rstrip(string.digits)
'asdfg'

答案 2 :(得分:0)

正则表达式!

import re
intialString = "asdfg123"
newString = re.search("[^\d]*", intialString).group()
print(newString)

预期结果为“ asdfg”。