Как разобрать строковый оператор в JavaScript? - PullRequest
0 голосов
/ 29 сентября 2018

Я хочу разобрать этот оператор в javascript

["TWA"]["STEL"] 

и получить значение TWA, STEL.Я предполагаю, что это json и использую метод JSON.parse (), но он не работает.

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Это не JSON, но вы можете легко разобрать его с помощью сопоставителя шаблонов:

https://jsfiddle.net/60dshj3x/

let text = '["TWA"]["STEL"]'
let results = text.match(/\["(.*)"\]\["(.*)"]/)

// note that results[0] is always the entire string!
let first = results[1]
let second = results[2]

console.log("First: " + first + "\nSecond: " + second);
0 голосов
/ 29 сентября 2018

Если это строка , то простое регулярное выражение сделает свое дело.

const regex = /\["(\w+)"\]/gm;
const str = `["TWA"]["STEL"]`;
let m;
let words = [];
while ((m = regex.exec(str)) !== null) {
  // This is necessary to avoid infinite loops with zero-width matches
  if (m.index === regex.lastIndex) {
    regex.lastIndex++;
  }

  // The result can be accessed through the `m`-variable.
  m.forEach((match, groupIndex) => {
   if(groupIndex===1)words.push(match)
  });
}

console.log(words.join(','))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...