#python #string
#python #строка
Вопрос:
Я пытаюсь удалить слово из строки, но только в том случае, если это второе слово. Вот один из примеров:
Я попробовал удалить и заменить. Нарезка не будет работать, потому что Pred может не находиться в одном и том же месте каждый раз.
# Complete the function to remove the word PREDS from the given string
# ONLY if it's not the first word and return the new string
def removePREDS(mystring):
return mystring.replace("PREDS", ' ')
# expected output: PREDS Rocks
print(removePREDS('PREDS Rocks'))
# expected output: Hello, John
print(removePREDS('Hello, PREDSFan'))
Я могу удалить оба Preds и первый, но не могу понять, как удалить второй
Комментарии:
1. Только второй или заменить все повторы, кроме первого?
Ответ №1:
Функция:
def remove_if_not_starts_from(src, substr):
return src if src.startswith(substr) else src.replace(substr, '')
Использование:
str1 = 'Lorem ipsum'
str2 = 'ipsum Loremipsum'
word = 'Lorem'
print('{} -> {}'.format(str1, remove_if_not_starts_from(str1, word)))
print('{} -> {}'.format(str2, remove_if_not_starts_from(str2, word)))
Вывод:
Lorem ipsum -> Lorem ipsum
ipsum Loremipsum -> ipsum ipsum
Комментарии:
1. Вот и все, я не думал об идее startswith. Большое вам спасибо