Как удалить первое число, за которым следует регулярное выражение в запятой? - PullRequest
1 голос
/ 13 октября 2019

Если у меня есть строки ["32145","yes","no","0"], как бы: ,"yes","no","0"? Прямо сейчас у меня есть регулярное выражение ниже, но это дает мне ,yes,no,

.replace(/["'\\[\\]\d]/g,"")

Как мне просто удалить первое число и первую запятую после этого числа?

Ответы [ 3 ]

3 голосов
/ 13 октября 2019

Вот решение без регулярного выражения с использованием JSON.parse () .

var str = '["32145","yes","no","0"]';

var result = JSON.parse(str); // Convert string to array.
result.shift(); // Remove first array element.
result = result.toString(); // Convert array to string.

console.log(result);
2 голосов
/ 13 октября 2019

Может быть,

\["\d+",|[\]"]

при замене на пустую строку будет работать нормально.

const regex = /\["\d+",|[\]"]/g;
const str = `["32145","yes","no","0"] `;
const subst = ``;

const result = str.replace(regex, subst);

console.log(result);

Демонстрация

Схема RegEx

jex.im визуализирует регулярные выражения:

enter image description here

0 голосов
/ 13 октября 2019

Просто проанализируйте значение и удалите первый элемент, который является числом

let firstNumRemover = (str) => {
  let removeFurther = true
  return JSON.parse(str).filter(v => {
    if (!isNaN(v) && removeFurther) {
      removeFurther = false
      return false
    }
    return true
  }).toString()
}

console.log(firstNumRemover(`["32145","yes","no","0"]`))
console.log(firstNumRemover(`["Some random text", "32145","yes","no","0"]`))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...