PDA

Просмотр полной версии : Заменить неправильные буквы в тексте, на правильные


caseyryan
29.11.2013, 11:18
Суть задачи в следующем.
Есть большой текстовый файл, в котором содержатся немецкие слова, а через пробел перевод на русский.
например:

Gefьhl_(s) чувство
Urlaub_(s) отпуск
и т.д...

Как можно увидеть, слово Gefьhl исковеркано, вместо мягкого знака нужно подставить у умлаут ü
Нужно придумать регулярное выражение, чтобы по всему тексту произвести замену мягкого знака на u умлаут так, чтобы при этом он не заменялся в русских словах.
Поэтому просто вариант с

string = string.replace(/ь/g, "ü");

не подойдет
Пока не столкнулся с этой задачей, не представлял на сколько движки регэкспов в perl и php отличаются от ас3

Добавлено через 10 минут
Блин, только создал тему, сразу придумал как решить)

var regexp:RegExp = /(?<=\w)ь/g; // смотрим позицию перед мягким знаком, если это латинская буква, меняем мягкий знак на u умлаут
trace(string.replace(regexp, "ü"));

Hauts
29.11.2013, 12:53
Добавлено через 10 минут

Вот поэтому я перед созданием новой темы обычно пью чай с печеньками :)

caseyryan
29.11.2013, 13:01
Я это тоже долго делал) Но как-то мистически решение обычно находится через несколько минут после создания темы. Но если ее не создать, будешь возиться весь день)

Wolsh
29.11.2013, 13:24
Эффект от концентрации при формулировке вопроса.