Как правильно обрезать строку начиная с конца до первого с начала заданного символа?

Допустим у меня есть такая строка:

a = "Hello:World:OK"

Мне нужно обрезать строку, чтобы она выглядела вот так:

a = "Hello"

То есть, обрезать начиная с конца все символы до первого с начала ":".


Ответы (2 шт):

Автор решения: MaxU

Я бы в этом случае воспользовался str.partition(), т.к. нам не нужно разбивать строку по двоеточию больше одного (первого) раза:

a = a.partition(":")[0]
print(a)

или явно указать значение maxsplit=1 в функции str.split():

a = a.split(":", maxsplit=1)[0]
→ Ссылка
Автор решения: Эникейщик

Ещё можно использовать такую конструкцию:

s = a[0:a.index(":")]

Если символ : в строке отсутствует, то случится ошибка.

→ Ссылка