Сравнение строк на C#?

Столкнулся с такой задачей. Например. Есть строка «Привет». Нужно, чтобы строки считались одинаковыми, даже если в одной строке есть английские буквы (a,e, etc.). InvariantCulture не помог. Есть простые решения?
  • Вопрос задан
  • 7544 просмотра
Решения вопроса 1
Shedal
@Shedal
Стандартными средствами .NET это автоматически сделать не получится. Ведь символы это разные, даже если выглядят похоже.
Простой вариант — сначала заменить все английские символы на аналогичные русские, а потом уже сравнивать строки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 9
kastaneda
@kastaneda
текст.ToLower() в изображение и сравнивайте картинки
Ответ написан
@Neir0
Нужно перевести текст в картинку, потом либо загрузить на antigate(сервис для распознавания капчи), либо воспользоваться движком распознавания текста(рекомендую tesseract, есть примеры с EmguCV — врапер для OpenCV на c#)
Ответ написан
sha1dy
@sha1dy
пардон, но этот вопрос привлек столько неадеквата :)
Ответ написан
EugeneOZ
@EugeneOZ
Обе строки привести к нижнему регистру ( .ToLower() )
Ответ написан
III
@III
Ответ написан
Комментировать
III
@III
Ответ написан
Комментировать
Error_403_Forbidden
@Error_403_Forbidden
Ответ написан
Комментировать
agasper
@agasper
Стандартного решения нет. Либо пишите метод для сравнения строк либо наследуйтесь от класса String и перекройте метод Equals
Ответ написан
jonie
@jonie
А в общем виде можно почитать нечеткую логику и брать меру хемминга например… да тысячи мер этих — на любой в общем-то вкус.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы