расщепление строки согласно регулярному выражению в машинописи не работает должным образом для нескольких пробелов - PullRequest
0 голосов
/ 06 мая 2019

В машинописи я хочу разделить имя по пробелам.Итак, я использовал что-то вроде этого

const splitted = name.split(' ');

Это работает, как ожидалось, но если ошибочно кто-то дал более одного пробела.Итак, я попытался обработать несколько пробелов для разделения.Таким образом,

const splitted = name.split('\\s+');

Но, он принимает всю строку как 1 И, длина разделенного Варабеля это показывает 1

Это работает в Java

Любойобъяснение

Ответы [ 2 ]

1 голос
/ 06 мая 2019

При использовании Regex вы должны использовать обратную косую черту без кавычек:

const splitted = name.split(/\s+/g);
1 голос
/ 06 мая 2019

Если вы хотите split вдоль регулярного выражения, вам нужно передать фактическое регулярное выражение split:

const splitted = name.split(/\s+/);

Ваш текущий код будет разделен на обратную косую черту literal , за которой следуют литералы s и +, например:

const name = 'foo\\s+bar';
const splitted = name.split('\\s+');
// splitted: ['foo', 'bar'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...