Удаление символов из строки Python - PullRequest
2 голосов
/ 03 октября 2011

У меня есть строка:

v = "1 - 5 of 5"

Я хотел бы только часть после 'of' (5 выше) и убрать все до 'of', включая 'of'?

Проблема в том, что строка не является фиксированной, так как в ней может быть «1-100 из 100», поэтому я не могу указать, что нужно удалять все после 10 или около того символов.Мне нужно найти «из», а затем все убрать.

Ответы [ 4 ]

7 голосов
/ 03 октября 2011

Использование метода partition наиболее читабельно для этих случаев.

string = "1 - 5 of 5"
first_part, middle, last_part = string.partition('of')

result = last_part.strip()
4 голосов
/ 03 октября 2011

str.partition() был построен именно для такой проблемы:

In [2]: v = "1 - 5 of 5"

In [3]: v.partition('of')
Out[3]: ('1 - 5 ', 'of', ' 5')

In [4]: v.partition('of')[-1]
Out[4]: ' 5'
0 голосов
/ 03 октября 2011
In [19]: v[v.rfind('of')+2:]
Out[19]: ' 5'
0 голосов
/ 03 октября 2011
p = find(v, "of")

дает вам позицию "of" в v

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...