Разрежьте начало и конец строки в JS - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть такая строка:

test_b0e0bef67-6f0bc-4efb2c-9fee58-a1ffe.pdf

Как я могу разрезать строку на куски и сформировать массив следующим образом:

['test', 'b0e0bef67-6f0bc-4efb2c-9fee58-a1ffe', 'pdf']

Это одно из возможных решений, но я верю это не самый элегантный.

const firstPart = string2.split('_');
const secondPart = first[1].split('.');
const result = firstPart.concat(secondPart);

Ответы [ 2 ]

4 голосов
/ 07 февраля 2020

Вы можете использовать RegEx /[_.]/:

var string2 = 'test_b0e0bef67-6f0bc-4efb2c-9fee58-a1ffe.pdf'

const result = string2.split(/[_.]/);
console.log(result);
4 голосов
/ 07 февраля 2020

Вы можете использовать ([^_]+)_([^.]+)\.(.+) для:

  • ([^_]+) - сопоставлять и захватывать не- _ с
  • _ - сопоставлять _
  • ([^.]+) - Совпадение и захват не-. s
  • \. - Совпадение .
  • (.+) - Совпадение и захват всего что угодно

const [, ...arr] = 'test_b0e0bef67-6f0bc-4efb2c-9fee58-a1ffe.pdf'.match(/([^_]+)_([^.]+)\.(.+)/);
console.log(arr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...