Как узнать, сколько раз строка найдена в сохраненном файле html? - PullRequest
1 голос
/ 24 апреля 2020

У меня есть сохраненный файл html, из которого я пытаюсь узнать, сколько раз найдена конкретная строка. Например:

string= 'Beautiful days'
text = "those beautiful days were unforgettable. I wish every day was a beautiful day"

ожидаемый вывод = 2 (прекрасные дни, прекрасный день "

попробовал следующее: я пробовал использовать spacy, но не смог этого сделать. Может кто-нибудь подсказать мне логи c за это?

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Вы можете использовать стеммер. Это может быть излишним, но он найдет и самые близкие слова

import nltk
nltk.download('punkt')

from nltk.stem import PorterStemmer 
from nltk.tokenize import word_tokenize 

ps = PorterStemmer() 

sentence = "those beautiful days were unforgettable. I wish every day was a beautiful day"
words = word_tokenize(sentence) 
sentence = ""
for w in words: 
    sentence += (ps.stem(w.lower()) + " ")
query = 'Beautiful days' 
words = word_tokenize(query) 
query = ""
for w in words: 
    query += (ps.stem(w.lower()) + " ")
print(sentence)
print(query)
print(sentence.count(query))
those beauti day were unforgett . i wish everi day wa a beauti day 
beauti day 
2
0 голосов
/ 24 апреля 2020

Вы также можете использовать:

import re

with open("count_string_in_file.txt") as f:
    html = f.read()

to_match = "beautiful day"
matches = re.findall(to_match, html, re.IGNORECASE)
print(len(matches), matches)
# 2 ['beautiful day', 'beautiful day']

Демо

...