powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сравнить две строки
11 сообщений из 11, страница 1 из 1
Сравнить две строки
    #39283105
gnikspam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята подскажите пожалуйста как две строки сравнить аналогом like в sql

Код: c#
1.
2.
3.
 string a = "aaa";

Console.WriteLine(a.Contains("b aaa"));



Вернуло False, а как вернуть True, что-то вроде %aaa% задействовать.

Спасибо.
...
Рейтинг: 0 / 0
Сравнить две строки
    #39283108
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
gnikspamРебята подскажите пожалуйста как две строки сравнить аналогом like в sql

Код: c#
1.
2.
3.
 string a = "aaa";

Console.WriteLine(a.Contains("b aaa"));




Вернуло False, а как вернуть True, что-то вроде %aaa% задействовать.

Спасибо.
Наоборот

Код: c#
1.
Console.WriteLine(("b aaa").Contains(a));
...
Рейтинг: 0 / 0
Сравнить две строки
    #39283116
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gnikspam,

Открой для себя регулярные выражения
...
Рейтинг: 0 / 0
Сравнить две строки
    #39283118
gnikspam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2,

Круто, а если будет вот так

Код: c#
1.
2.
3.
string a = "aaa";

Console.WriteLine(a.Contains("b (aaa)"));
...
Рейтинг: 0 / 0
Сравнить две строки
    #39283122
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gnikspamCat2,

Круто, а если будет вот так

Код: c#
1.
2.
3.
string a = "aaa";

Console.WriteLine(a.Contains("b (aaa)"));


aaa никак не может содержать в себе b(aaa)

Like как тебе пожет?
...
Рейтинг: 0 / 0
Сравнить две строки
    #39283128
gnikspam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче ситуация такая, вернул из прайса строку с названием бука

asus aa11

затем сравниваю ее с названием в базе, только вот в базе этот ноутбук может быт вот так

Ноутбук asus aa11

мне же нужно вернуть true так как это один и тот же бук
...
Рейтинг: 0 / 0
Сравнить две строки
    #39283129
gnikspam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gnikspam,

а еще название из первого источника может быть вот таким

asus (aa11)

Но мне тоже нужно вернуть true т.к. это тот же ноутбук
...
Рейтинг: 0 / 0
Сравнить две строки
    #39283130
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
gnikspamCat2,

Круто, а если будет вот так

Код: c#
1.
2.
3.
string a = "aaa";

Console.WriteLine(a.Contains("b (aaa)"));


Тогда будет
Код: c#
1.
Console.WriteLine(("b (aaa)").Contains(a));



Функция Contains работает так - ищем в заданой строке аргумент
...
Рейтинг: 0 / 0
Сравнить две строки
    #39283188
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gnikspam,

для того что решать эту задачу - люди пишут почти искуственные интеллекты и продают за большие деньги

можно попробовать регулярные выражения, или просто надо убрать спец символы (опять же с помощию регулярных выражение или тупого replace) и искать с помощью contains

если порядок слов нарушен (например в "асус ноутбук аа11" ищем "асус аа11") - то можно написать простую версию своего текстового поискового движка, там ничего сложного - разбиваешь исходную строку на слова по пробелу, ищешь все их и считаешь кол-во попаданий, потом сортируешь по убыванию, наверху самый релевантный

если не поможет - поднимать тяжелую артиллерию - ElasticSearch и аналоги - они уже умеют это делать из коробки
...
Рейтинг: 0 / 0
Сравнить две строки
    #39283211
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77gnikspam,

для того что решать эту задачу - люди пишут почти искуственные интеллекты и продают за большие деньги
Обычное расстояние Левенштейна. Функция расчета этого расстояния из себя ничего сверхсложного не представляет, готовых реализаций для разных языков в интернетах полно.
...
Рейтинг: 0 / 0
Сравнить две строки
    #39283235
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны17-77gnikspam,

для того что решать эту задачу - люди пишут почти искуственные интеллекты и продают за большие деньги
Обычное расстояние Левенштейна. Функция расчета этого расстояния из себя ничего сверхсложного не представляет, готовых реализаций для разных языков в интернетах полно.
я имел ввиду не поиск, а преобразование строк (названий, телефонов, адресов) к единому формату, а после уже поиск
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сравнить две строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]