Конвертировать текст с вкладками в валидный JSON с регулярным выражением - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь преобразовать этот простой текстовый файл, экспортированный из аудио-программного обеспечения (Audacity)

0.147652    0.983684    noing_grf
2.316547    3.609503    boing_4r4

В действительный json формат objet, подобный этому enter image description here

{
    'noing_grf': { start: 0.147652, end: 0.983684 },
    'boing_4r4': { start: 2.316547, end: 3.609503 },
}

Шаблон, который я пробую, вот этот ([^\t\n]+) Но я думаю, что мне нужен полный пример для выполнения.

Любой профессионал Regex может помочь мне в этом, но я не преуспею! Моя цель - экспортировать метки и регионы из дорожки аудиоданных, затем загрузить в js и преобразовать в формат json для управления spriteAudio , подобным этому API. http://pixijs.io/pixi-sound/examples/sprites.html

1 Ответ

2 голосов
/ 19 апреля 2019

Вы должны использовать регулярное выражение для выполнения этого? Вы можете сделать это очень просто в javascript (или на любом другом языке программирования).

const data = `0.147652  0.983684    noing_grf
2.316547    3.609503    boing_4r4`;

const dictionary = {};
const lines = data.split("\n");
lines.forEach(line => {
    line = line.split("\t");
    dictionary[line[2]] = { start: line[0], end: line[1] };
});

результирующий словарь будет иметь нужный формат:

{
    noing_grf: { start: '0.147652', end: '0.983684' },
    boing_4r4: { start: '2.316547', end: '3.609503' }
}
...