2011-12-28 1 views
-1

Есть ли все равно, чтобы полоса или замена или что-то в этом роде от одного индекса к другому индексу в пределах одной строки?Python 3 String Method?

Например, если у меня есть строка типа «первая - вторая треть», и я хочу удалить среднюю часть («- second -»), как я могу это сделать?

Заранее спасибо.

ответ

7

Ваша строка:

s = 'first - second - third' 

и возможные решения:

s.replace(' - second - ', '') 

или

''.join(s.split(' - ')[::2]) 

или

''.join(s.split(' - second - ')) 

или если вы знаете индексы:

s[:5] + s[-5:] 

или просто поиск первого и последнего места:

s[:s.index(' ')] + s[s.rindex(' ')+1:] 

все они вернутся 'firstthird'

+0

Я забыл упомянуть, что я не знаю, какая средняя часть (которая в данном случае является «второй») строки будет, но ваше второе решение отлично подходит для меня. Благодаря! :) – Dennis

1
"first - second - third".replace('- second -','') 
1

Если индексы для удаления являются (i, j), то вы можете сделать следующее:

myStr[:i] + myStr[j+1:]