Сообщить об ошибке.

Обрезать строку Python до определенного символа/знака

Для нахождения позиции заданного символа воспользуемся методом строки str.find(x), который будет искать позицию x. Если символа x нет, то возвращаемый результат будет равен -1.

Срез строки s[a:b] - это кусок от положения a включительно до b, который не будет включен в результирующий срез. Если b отсутствует, то строка будет от положения a включительно до конца строки.

Метод str.find(":") + 1 - первый символ, входящий в новую строку. Если метод str.find() вернёт результат -1, то тогда (-1 + 1 = 0) просто получим целиком всю строку.

Теперь пример среза строки Python от заданного символа до конца строки

>>> s = 'text text: one two three'
>>> s[s.find(":") + 1:]
# ' one two three'

Можно воспользоваться str.partition() разбивает строку на три части: все что слева от разделителя, сам разделитель, то что справа от разделителя. Если разделитель не найден, то возвращается исходная строка и две пустых строки, т. е. в любом случае возвращается кортеж из 3 элементов.

>>> s = 'text text: one two three'
>>> s.partition(':')[2]
# ' one two three'

Обрезание строки Python до нужного символа/знака.

Можно воспользоваться str.partition() разбивает строку на три части: все что слева от разделителя, сам разделитель, то что справа от разделителя. Если разделитель не найден, то возвращается исходная строка и две пустых строки, т. е. в любом случае возвращается кортеж из 3 элементов.

>>> s = 'text text: one two three'
>>> s.partition(':')[0]
# 'text text'

Или применить к строке метод str.split(), который делит строку по указанному разделителю.

>>> s = 'text text: one two three'
>>> s.split(':')[0]
# 'text text'