У меня есть набор строк, которые мне нужно заменить, но мне нужно сохранить регистр букв. как входные слова, так и выходные слова имеют одинаковую длину.Заменить текст, но сохранить регистр
Например, если мне нужно заменить "ABCD" с "QWER", то следующее должно произойти:
"AbcD" translates to "QweR"
"abCd" translates to "qwEr"
и так далее.
Сейчас я использую JavaScript replace
, но заглавные буквы теряются при переводе.
r = new RegExp("(" + 'asdf' + ")" , 'gi');
"oooAsdFoooo".replace(r, "qwer");
Любая помощь будет принята с благодарностью.
Целевая строка и замена известны или они будут динамическими? – pvnarula
Извините, я не понимаю ваш вопрос. Но это так: я переписываю текст, введенный пользователем. У меня есть список правил, например, «ca» транскрибируется на «kb», но мне нужно сохранить заглавные буквы, поэтому «cA» транскрибируется на «kB». –
Я бы сделал это за 2 шага, сначала «oooAsdFoooo» .search (r), который возвращает индекс, а затем обрабатывает регистр. Но я был бы взволнован, если есть только с регулярным выражением – bert