2017-01-07 3 views
-1

У меня есть следующие данные:Заменить триггерные слова в предложении

line = "This is a sample line" 
trigger_words = "sample" 

То, что я хотел бы сделать теперь экран с помощью предложений, чтобы увидеть, если строка содержит триггер слово. И если это так, то замените его на «#»

Thefore Я написал следующий код, который позволяет мне найти первый и последний номер в предложении, где trigger_word является

if trigger in line: 
index = line.index(trigger) 

index_begin = index + 1 
index_eind = index + len(trigger) + 1 

Но теперь я Я ищу способ заменить часть в предложении от index_begin до index_end с помощью «#».

Любые вопросы о том, как я могу это сделать?

+0

, что вы имеете в виду? Вы хотите это? «Это строка #####»? – Efazati

ответ

0

Строка в python на самом деле является списком, поэтому вы можете использовать строку, используя сплайсинг. Как показано ниже:

line = line[:index_begin] + '#' + line[index_end:] 

ПРИМЕЧАНИЕ. Не добавляйте 1 к индексу, если вы используете этот метод.

1

Вы можете использовать встроенныйstr.replace для достижения этой цели, как:

>>> line = "This is a sample line" 
>>> trigger_words = "sample" 

## If you want to replace the word with single '#' 
>>> line.replace(trigger_words, '#') 
'This is a # line' # returned string 


## If you want to replace the word with '#' equivalent to length of word 
#         v- to repeat '#' equal to length 
#         v of 'trigger_words' 
>>> line.replace(trigger_words, '#'*len(trigger_words)) 
'This is a ###### line' # returned string 
Смежные вопросы