首页 > 解决方案 > 在 kwic 中的给定关键字之前获取/添加字符串

问题描述

您好,我正在处理上下文中的关键字,我在给定字符串之后得到了上下文,我还想打印给定字符串之前的 3 个字符串。

def file(data):
    tokens = []
    for line in data:
        tokens.extend(line.strip().split())
    return tokens

lists = []
def keycontext(lines, word): 
    liste = []
    for i in range(len(lines)):
        if (lines[i] == word):
            lists.append(" ".join(lines[i:i+int(2)+1])) #lines[i-int(0):i]+
    return lists

keyword = input("write keyword")
print("You've written ", keyword)
text = file(data['clean_text'])
result = keycontext(text,keyword)

作为列表的输出,我得到了这个

['faire un nouveau', 'faire et qui', 'faire avec les', 'faire au vrai', ....

我也想在马戏团之前得到字符串

我该如何处理这条线

lists.append(" ".join(lines[i:i+int(2)+1])) #lines[i-int(0):i]+

标签: pythonstringlist

解决方案


  • 从您的评论中,我了解到您在单词匹配之前需要 2 个单词。您可以为此添加条件。
def file(data):
    tokens = []
    for line in data:
        tokens.extend(line.strip().split())
    return tokens

lists = []
def keycontext(lines, word): 
    liste = []
    for i in range(len(lines)):
        if (lines[i] == word):
            lists.append(" ".join(lines[min(0,i-2):i+int(2)+1])) #lines[i-int(0):i]+
    return lists

keyword = input("write keyword")
print("You've written ", keyword)
text = file(data['clean_text'])
result = keycontext(text,keyword)

推荐阅读