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