Для нахождения позиции заданного символа воспользуемся методом строки 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'
Можно воспользоваться 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'