Разбить строку, используя выражение регулярного выражения в node js - PullRequest
0 голосов
/ 01 марта 2020

Я хотел разделить строку с помощью выражения регулярного выражения.

Строка:

var str = 'i want @masala tea@'

Я хочу, чтобы эта строка была разбита на массив ['i want','masala tea']

То, что я пробовал до сих пор, было:

var arr = str.split(/^@.*@$/);

, но это не сработало.

Ответы [ 3 ]

1 голос
/ 01 марта 2020

Вы можете разделить свое сообщение на каждое '@', а затем отфильтровать пустые элементы. Если вам нужно удалить пробельные символы из каждой строки, используйте функцию .map(...).

'i want @masala tea@'.split('@').filter(e => e != ""); 
//["i want ", "masala tea"]
'i want @masala tea@'.split('@').map(e => e.trim()).filter(e => e != ""); 
//["i want", "masala tea"]
0 голосов
/ 01 марта 2020

Да, вы можете разбить строку, используя выражение регулярного выражения. Попробуй это. Я думаю, это решит вашу проблему.

let yourString = 'i want @masala tea@'; // your string 

// function that return exactly what you want
let outputArr = (string) => {
    return string.trim().match(/[^@]+/g).map(item => item.trim());
}

console.log(outputArr(yourString)); 
//(2) ["i want", "masala tea"]
0 голосов
/ 01 марта 2020

Не используйте функцию spilt для этого случая. используйте функцию replace следующим образом:

var str='i want @masala tea@';
console.log(str.replace(/@/gi, "")); //i want masala tea.

Спасибо.

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