|
|
#1
|
|||
|
|||
Умный поиск
Здравствуйте! Мне нужно организовать такой поиск, где во введенной строке взаимозаменялись следующие виды символов:
-заглавная и строчная буква (Слово = слово, СЛОВО = слово) -буквы с аналогичным написанием в латинице и кириллице. Не то чтобы мне хотелось просить кого-то из форумчан писать с нуля этот код... просто думается, что он вполне может оказаться какой-нибудь готовой процедуркой, выложенной в сети, ибо вероятно многие сталкиваются с этой проблемой. Если у кого-то есть такой поиск, поделитесь, пожалуйста ) |
#2
|
||||
|
||||
Для первого случая достаточно AnsuUpperCase/AnsiLowerCase, со вторым сложнее.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#4
|
||||
|
||||
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#5
|
|||
|
|||
Цитата:
а как я понимаю, это и не требуется. Необходимо только проверить те символы, начертание которых одинаково в обоих языках. но все-равно придется идти посимвольно и сравнивать. |
#6
|
||||
|
||||
Да, стандартное табличное сравнение.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#7
|
||||
|
||||
Цитата:
|
#8
|
||||
|
||||
Код:
Const Similar: record Rus,Lat: String[5]; end = (Rus:'аоерс';Lat:'aoepc'); begin for i := 1 to 5 do S := StringReplace(S,Similar.Lat[i],Similar.Rus[i],[rfReplaceAll]); end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
Chinvad (13.04.2013)
|
#9
|
||||
|
||||
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#10
|
|||
|
|||
Цитата:
По первому: Код:
function FindSubString(Substr : String; Str : String) : Boolean; begin Result := Pos(AnsiUpperCase(Substr),AnsiUpperCase(Str)) > 0; end; По второму - гораздо сложнее. Там надо писать довольно объемный код. Не сказал бы, что очень сложный, но покумекать придется. Последний раз редактировалось lmikle, 13.04.2013 в 03:27. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Chinvad (13.04.2013)
|