Как заменить все запятые, которые находятся в кавычках внутри скобок?

Как заменить все запятые, которые находятся в кавычках внутри скобок?

Например, есть строка:

const str = 'яблоко, груша (1, 2)'

Как её заменить на:

яблоко, груша (1; 2)
  • Вопрос задан
  • 197 просмотров
Решения вопроса 1
@StockholmSyndrome
function replace(str) {
  let nesting = 0;
  let result = '';
  
  for (let i = 0; i < str.length; i++) {
    if (str[i] === '(') {
      nesting++;
    } else if (str[i] === ')') {
      nesting--;
    } else if (str[i] === ',' && nesting !== 0) {
      result += ';';
      continue;
    } 
    result += str[i];
  }

  return result;
}

console.log(replace(str));

или вариант с регулярным выражением:
console.log(str.replace(/\((.*?),(.*?)\)/, '($1;$2)'));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы