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

diamlan

Client
Регистрация
14.09.2019
Сообщения
112
Благодарностей
18
Баллы
18
Например есть текст "this site is very expensive"
Его нужно целиком сравнить другим текстом. Например"Here Free fake like profile site" и в результате получить одно вхождение с одинаковыми словами. В примере это слово site.
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
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

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113

Proxy-Lab

Seller
Регистрация
19.05.2022
Сообщения
119
Благодарностей
1
Баллы
18
Пример на 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

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