JS c помощью regexp найти в json ключ и изменить его значение
Столкнулся с задачей - нужно регуляркой найти в json пару "name" : "oldName" и заменить "oldName" на "newName"
Придумал пока только так: data.replace( /"name":\s".*"/g, '"name": "newName"' );
Но по условию нужно изменить только "oldName", все остальное только помогает найти, что менять Вместо oldName может быть любой текст
Кто может подкинуть идею?
Ответы (1 шт):
Автор решения: Wiktor Stribiżew
→ Ссылка
Используйте
data = data.replace(/("name"\s*:\s*")[^"]*/g, '$1newName');
("name"\s*:\s*")- Подмаска №1:"name", 0+ пробельных символов,:, 0+ пробельных символов,"[^"]*- ноль и более символов".
См. пример работы регулярного выражения.
Пример работы кода:
let data = '"name" : "oldName"';
data = data.replace(/("name"\s*:\s*")[^"]*/g, '$1newName');
console.log(data);