У меня есть переменная с многострочным текстом в формате Markdown. Мне нужно преобразовать его в формат, совместимый с Telegram.
Хочу изменить заголовки (строки, начинающиеся с ‘#’) на жирный подчеркнутый текст. Пытаюсь использовать функцию replace(All), но что-то не получается.
Вот мой код:
let text = '### Анализ контекста\n\nЗдесь идет анализ...\n\nИ продолжается тут.\n\n### Еще один заголовок\n\n';
text = text.replace(/#*(.*)\n\n/g, '__*$1*__\n\n');
console.log(text);
Нужно убрать ‘#’ в начале строк и обернуть их в ‘’ и '’.
Сейчас выражение захватывает все строки. Где ошибка? Как это исправить?
это позволяет обрабатывать заголовки любого уровня, от # до ######. еще добавил trim() чтобы убрать лишнии пробелы.
кстати, если нужно сохранить переносы строк после заголовков, можно добавить \n\n в конце замены. главное не забыть про это, а то потом будешь ломать голову почему текст слипся