【发布时间】:2016-06-22 08:48:48
【问题描述】:
在 Python 中获取字符串数字前缀的最简洁方法是什么?
“干净”是指简单、简短、易读。我完全不在乎性能,而且我认为它在 Python 中几乎无法衡量。
例如:
给定字符串'123abc456def',获取字符串'123'的最干净的方法是什么?
以下代码获取'123456':
input = '123abc456def'
output = ''.join(c for c in input if c in '0123456789')
所以我基本上是在寻找某种方法来用while 替换if。
【问题讨论】:
-
可以选择正则表达式吗?
-
@MaxU:我希望有一个简单的“字符串操作”可以让我摆脱正则表达式的负担,但如果你认为没有其他选择,那么可以。
-
所有前缀都是 3 个字符还是不同?
-
@AIG:不,它会有所不同(否则,我会使用
input[0:3])。 -
@ForceBru:谢谢。下面有一个答案比您建议的问题中接受的答案更适合我的问题(即,下面的答案是“更干净”),所以我会在这里接受。
标签: python string python-2.7 python-3.x