Неанглийские буквенно-цифровые цифры в текстовом файле - PullRequest
0 голосов
/ 05 июня 2010

C # WinForm application

РЕДАКТИРОВАТЬ: Кажется, есть проблемы с совместимостью иностранных языков.
Это не проблема. Карточная игра, для которой я делаю эту утилиту, в основном на английском языке. В будущем я могу поддерживать другие языки, но все равно все будет помечено английскими именами, которые являются первичным ключом как в программе, так и в правилах игры.
Я могу просто добавить дополнительные таблицы с английским именем, за которым следует переведенный текст, и все должно быть в порядке.

.

Часть моей программы считывает ввод из текстового файла, содержащего имена, и сравнивает его с другим списком имен. Иногда в этих именах присутствуют неанглийские буквы, особенно ударение «о» и латинский AE во входном файле.

Когда этот ввод текста сравнивается с именами, эти неанглийские символы вызывают проблемы. Я хотел бы найти способ наложения этих символов на английский аналог в большинстве случаев, например, «[accented o]» -> «o»

.

Я вполне доволен, чтобы закодировать таблицу поиска / замены (я ожидаю только 12-30 проблемных символов), но у меня есть некоторые препятствия.

1) Жесткое кодирование таблицы поиска / замены (в файле ".cs") приводит к ошибкам, поскольку компилятору не нравятся символы.
Кто-нибудь знает хитрость, чтобы это исправить, или мне просто нужно создать текстовый файл Find / Replace, который будет прочитан перед этим процессом?

2) Определение букв расстраивает, но я доберусь до логики замены, только если совпадение не найдено. Это происходит, когда неанглийские символы вызывают несоответствие или его еще нет в списке.
Меня не слишком беспокоит неэффективность проверки по типу каждой несоответствующей строки, поскольку это процесс ручного обновления, запускаемый каждые три месяца. Предположительно, переход на уровень двоичного кода для одного символа должен работать, но я не получил это работать.

3) Вышеупомянутый символ [AE] используется часто, и было бы неплохо, по крайней мере, разрешить использование этого символа в программе, поскольку я не собираюсь заменять его, как это делают другие. Я загрузил символы [AE] в свою базу данных без проблем, и при поиске с использованием «Ae», «AE» и «[AE]» не возникло проблем на уровне SQL, поэтому я в порядке с этой функциональностью .
Просто поиск других неанглийских символов менее интуитивен.

.

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

1 Ответ

0 голосов
/ 05 июня 2010

Вы уверены, что эти имена не должны отличаться? Вы уверены, что хотите, чтобы все «è», «é», «ê» и «ë» означали одно и то же?

Особенно в «иностранных» именах символы с разными диакритическими знаками, скорее всего, должны быть разными. В конце концов, для людей, чьи имена таковы, эти персонажи не являются иностранными.

...