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

新手上路,请多包涵

我想从字符串末尾删除数字,但我不知道。

split() 方法可以吗?我怎样才能做到这一点?

初始字符串看起来像 asdfg123 ,而我只想要 asdfg

谢谢你的帮助!

原文由 klaine wei 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 453
2 个回答

不,split 不起作用,因为 split 只能使用固定的字符串进行拆分。

您可以使用 str.rstrip() 方法

 import string

cleaned = yourstring.rstrip(string.digits)

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

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

 import re

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

原文由 Martijn Pieters 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以将 str.rstrip 与要删除字符串尾随字符的数字字符一起使用:

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

或者,您可以使用 string.digits 而不是 '0123456789'

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

原文由 falsetru 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进