Сравнение строк с сопоставлением в JavaScript - PullRequest
1 голос
/ 14 апреля 2010

Я использую jquery.autocomplete, который использует регулярное выражение javascript для выделения подстрок в списке предложений, которые соответствуют строке ключа автозаполнения. Поэтому, если используются типы «Beat» и одно из предложений автозаполнения, которое возвращает сервер, - «The Beatles», тогда плагин отображает это предложение как «The Beat les».

Я пытаюсь найти способы заставить эту работу работать с соответствием строк, которое не чувствительно к акцентам, диакритическим знакам и остальным. Таким образом, если пользователь введет «Huske» и сервер предложит «Hüsker Dü», то это будет отображаться как « Hüske r Dü».

Принцип аналогичен сравнению строк с определенными параметрами сортировки, такими как MySql или ICU, или с типами Oracle. В SphinxSearch charset_table работает для этого. Такое сопоставление, как utf8_general_ci , идеально подойдет для моих целей.

1 Ответ

0 голосов
/ 14 апреля 2010

Единственное, о чем я могу думать, это довольно грубая сила. Если известно, что какой-либо символ во входной строке имеет одну или несколько акцентированных форм, замените его классом символов, содержащим все форм при создании регулярного выражения. Например, для входной строки Huske регулярное выражение может быть /H[uùúûü]sk[eèéêë]/.

...