我有以下数据:
line = "This is a sample line"
trigger_words = "sample"
我现在要做的是通过句子来查看该行是否包含触发词。如果是这种情况,请用#34;#"
替换它之前我编写了以下代码,允许我在句子中找到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 :(得分: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
答案 1 :(得分:0)
python中的字符串实际上是list,因此您可以使用splice来利用字符串。如下所示:
line = line[:index_begin] + '#' + line[index_end:]
注意:如果使用此方法,请勿向索引添加1。