Я хотел бы найти индекс первого вхождения любого "специального" символа в строке, например:
>>> "Hello world!".index([' ', '!'])
5
... за исключением того, что недействителен синтаксис Python. Конечно, я могу написать функцию, которая эмулирует это поведение:
def first_index(s, characters):
i = []
for c in characters:
try:
i.append(s.index(c))
except ValueError:
pass
if not i:
raise ValueError
return min(i)
Я мог бы также использовать регулярные выражения, но оба решения кажутся немного переборщиками. Есть ли какой-либо "нормальный" способ сделать это в Python?