Как извлечь до и после 10 символов строки - PullRequest
0 голосов
/ 30 марта 2020

Из фрейма данных мне нужно извлечь точное совпадение и его до и после 10 символов.


Search        Text                                                              parts
boy named     A boy named Alex.He lives in....                                A boy named ale
Jenny       Girl named Jennying as Jenny. This girl is really nice long.....  nnying as Jenny. This gir

Я попробовал следующий код:

part= []

for index, row in df.iterrows():

        c=row['text'].lower().split().count(row['Search'].lower())
        idx = row['text'].lower().find(row['Search'].lower())

        if idx<10:           
            substr = row['text'][:idx+len(row['Search'])+10]
        else:
            subs = row['text'][idx-10:idx+len(row['Search'])+10]    
        part.append(substr)

df['parts'] = part

Если я использую split (), это дает правильный результат для точного соответствия одного слова, но для комбинированного слова, такого как "мальчик по имени", это дает ноль.

...