Как сказал Чан: «мы хотим удалить все символы перед первым а», другими словами, нам нужно удалить все символы, которые не являются «а», от начала до «а», поэтому мы должны удалить первый не-строка и первый a, ^[^a]*a
.
import re
print re.sub("^[^a]*a", u"", u"123a45b6a789") # output: 45b6a789
print re.sub("^[^a]*", u"", u"123a45b6a789") # output: a45b6a789
Я просто проверяю затраты времени на некоторые методы в Python2.7 linux 16.04
, мой метод более быстрый, как показано ниже:
%timeit _ = re.sub("^[^a]*a", u"", '24579999999999999999999999999999999999999999999999999999999999999912734162854614678567ijkljklhhjkja45b6a789')
#1000000 loops, best of 3: 1.29 µs per loop
%timeit _ = re.sub('^.*?a', '', '24579999999999999999999999999999999999999999999999999999999999999912734162854614678567ijkljklhhjkja45b6a789')
# 1000000 loops, best of 3: 1.93 µs per loop