Ваша формулировка проблемы несколько расплывчата, поскольку предложение может заканчиваться использованием ",",":",";"
, но не может заканчивать предложение.Чтобы исправить эту проблему, определите пунктуацию, которую вы ищете, и укажите в списке.
Следующий код определяет начальную позицию всех ваших ключевых слов.Затем он находит первый экземпляр одного из ваших идентифицированных знаков препинания, который вы считаете «концом предложения / предложения», и возвращает его.
import re
text = '''
The exam is for testing your skills. The exam includes the following:
1) Aptitude
2)synonyms
3)Reasoning'''
targets =[m.start() for m in re.finditer('exam', text)]
end_punct = ['!','.','?',':',';']
for target in targets:
subtext = text[target:]
print(subtext)
for char in subtext:
if char in end_punct:
print(char)
break
Пример возврата:
#Returns:
.
: