Python: найти индекс первой цифры в строке? - PullRequest
38 голосов
/ 22 декабря 2010

Я подозреваю, что это проблема регулярных выражений - и очень простая, поэтому извиняюсь.

В Python, если у меня есть строка типа

xdtwkeltjwlkejt7wthwk89lk

, как я могу получить индекс первой цифры в строке?

Спасибо!

Ответы [ 12 ]

0 голосов
/ 15 августа 2014
def first_digit_index(iterable):
    try:
        return next(i for i, d in enumerate(iterable) if d.isdigit())
    except StopIteration:
        return -1

Это не использует регулярное выражение и прекратит итерацию, как только будет найдена первая цифра.

0 голосов
/ 21 января 2014

У одного из моих коллег был действительно потрясающий ответ на этот вопрос:

import re
result = "  Total files:...................     90"
match = re.match(r".*[^\d](\d+)$", result)
if match:
    print match.group(1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...