Как разбить строку по тире и убрать все пробелы? - PullRequest
1 голос
/ 25 апреля 2019

Цель: я хочу разбить строку на тире, где каждый элемент массива исключает пробелы.

Пример:

string -> "CL - Пункт назначения - Налог на аэропорт"

Я пробовал:

var splitArray = section.split(/[-]+/);

Ожидаемое:

splitAray [0] = "CN"
splitAray [1] = "Transit "
splitAray [2] = "Airport Tax"

Фактическое значение:

splitAray [0] = "CN "
splitAray [1] = " Transit "
splitAray [2] = " Airport Tax"

Как я могу легко удалить любые пробелы?

Ответы [ 3 ]

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

Используйте map с trim:

const section = "CL - Destination - Airport Tax";
const splitArray = section.split(/[-]+/).map(s => s.trim());
console.log(splitArray);

Синтаксис ES5:

var section = "CL - Destination - Airport Tax";
var splitArray = section.split(/[-]+/).map(function(s) {
  return s.trim();
});
console.log(splitArray);
1 голос
/ 25 апреля 2019

Просто добавьте дополнительные пробелы по обе стороны от тире:

var section = "CL - Destination - Airport Tax";
var splitArray = section.split(/\s*[-]\s*/);
console.log(splitArray);
0 голосов
/ 25 апреля 2019

Вот решение карты, функция автоматически обрежет каждый элемент массива.

var section ="CL - Destination - Airport Tax";
var splitArray =section.split('-').map(Function.prototype.call, String.prototype.trim);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...