Как сделать множественную замену в тексте в одном действии BAS (замена английских букв на русские).

Поддержка
  • Здравствуйте!
    Есть строка с текстом. Там есть подмена символов (т.е. например слово: Kупить (первая буква К - английская, ее нужно заменить на русскую К, буква y (английская Y), ее нужно заменить на русскую у и т.д.).
    Если у меня образно есть список по замене, например, заменить буквы (английские на русские):
    a, c, k, x, B, M, и т.д. (они в разном регистре). Т.е. может есть какое-то действие чтобы я мог сразу в одном действии прописать какую букву на какую заменить чтобы оно в итоге меняло?
    Просто сейчас нашел только вариант менять в каждом действии по 1 букве, а это очень неудобно((
    и не знаю есть ли вообще вариант в BAS чтобы технически сделать например 20 замен букв в одном тексте в одном действии?
    (нашел сркипт на github), не знаю можно ли его как-то в BAS добавить, может кто-то знает? Оно как раз решает похоже эту задачу про которую я написал полностью на автомате... https://spearance.github.io/anti-pe.js/

  • В действии node js

    const mask = {"A": "А","a": "а","E": "Е","e": "е","T": "Т","y": "у","O": "О","o": "о","P": "Р","p": "р","H": "Н","K": "К","X": "Х","x": "х","C": "С","c": "с","B": "В","M": "М"};
    
    function antiPE (str) {
    	if (!str) {
    		return str;
    	}
    
    	Object.entries(mask).forEach(([en, ru]) => {
    		str = str.replaceAll(en, ru);
    	})
    	return str;
    }
    
    [[DONE_TEXT]] = antiPE([[TEXT]]);
    

    в переменной [[TEXT]] твой текст где надо заменить в [[DONE_TEXT]] будет готовый текст

  • @xASZx Спасибо! Проверил, все шикарно работает!))