удалит их.
const str = 'Какой-то текст !arg1 48! !arg2 Putin!';
const extractArgs = () => // ...
const res = extractArgs(str);
{
text: 'Какой-то текст',
args: {
arg1: 48,
arg2: 'Putin'
}
}
Как такое лучше сделать?
ещё 1 хд регулярочки
Я нимагу...
ну грязный варик ток могу предложить. почти то же, что было выше печатаю с телефона в такси, так шо проверьте на ошибки и нейминг норм дайте и т. п. const matches = []; const text = str.replace(/!(.*?)!/g, (_, m) => (matches.push(m), '')); const result = { text, args: Object.fromEntries(matches.map(m => m.split(' '))) }; UPD: const ejectArgs = (str, regex) => { const matches = []; const processMatch = (match) => { matches.push(match); return ''; }; const text = str.replace(regex, (_, m) => processMatch(m)); const args = Object.fromEntries(matches.map(match => match.split(' '))); return { text, args }; } const str = 'Какой-то текст !arg1 48! !arg2 Putin!'; console.log(ejectArgs(str, /!(.*?)!/g));
ток прям внимательно проверьте всё
Спасибо огромное!
я вообще не в курсе, работает ли оно проверьте сначала хд
пообещайте только, что такой код не улетит в прод
я обновил чуток, теперь хотя бы не совсем стыдно хд
Не стоило, но ладно
Обсуждают сегодня