Сравнить два текста что бы получить наличие одинаковых слов.

  • Автор темы Автор темы diamlan
  • Дата начала Дата начала

diamlan

Client
Регистрация
14.09.2019
Сообщения
116
Реакции
18
Баллы
18
Например есть текст "this site is very expensive"
Его нужно целиком сравнить другим текстом. Например"Here Free fake like profile site" и в результате получить одно вхождение с одинаковыми словами. В примере это слово site.
 
C#:
Развернуть Свернуть Копировать
string[] source = "this site is very expensive".Split(new char[0]);
string target = "Here Free fake like profile site";

foreach (string word in source) {
    if (Regex.Match(target, word).Success) {
        return word;
    }
}

Тоже самое, но с использованием переменных вместо захардкоженного текста:
C#:
Развернуть Свернуть Копировать
string[] source = project.Variables["source_text"].Value.Split(new char[0]);
string target = project.Variables["target_text"].Value;

foreach (string word in source) {
    if (Regex.Match(target, word).Success) {
        return word;
    }
}
93967
 
  • Спасибо
Реакции: zennoman, diamlan и Alex.A
Пример на python с использованием регулярных выражений:
Развернуть Свернуть Копировать
import re


def shared_words(s1, s2):
    res = []
    l_s1 = set(re.findall(r'\w+', s1))
    l_s2 = set(re.findall(r'\w+', s2))
    for ss1 in l_s1:
        if ss1 in l_s2: res.append(ss1)
    return res


s1 = "This site is very expencive"
s2 = "Here free fake like profile site"
print(shared_words(s1, s2)) # ['site']
 
Последнее редактирование модератором:
  • Спасибо
Реакции: diamlan

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)