@n0namer

.NET + Sphinx. Как не экранировать # и @?

Использую MySqlCommand для подключения. Формирую текст запроса к Сфинксу по такому шаблону:
"select Id, WEIGHT() as weight from ind WHERE MATCH ('"+ searchString + "')"

Пользователь может ввести символы # и @ и вылетит эксепшн. Чтобь этого избежать экранирую эти символы:
searchString.Replace("@","\\\\@").Replace("#", "а")

Есть ли более универсальное решение?
Какие еще символы нужно экранировать?
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
правильное решение - регекспом пропускать только разрешенные символы
заодно и в нижний регистр можете перевести
Ответ написан
opium
@opium
Просто люблю качественно работать
все спецсимволы надо экранировать, для этого есть готовые функции во всех языках
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы