如何在 JavaScript 中使用开始和结束分隔符拆分字符串?



我有一个 tcp 套接字,包"<<"开头和包">>"结束,所以我的数据"<< data >>".

let stream = socket.pipe(split('>>'));
stream.on('data', (data) => { /*do something with data*/ };

我用它来切割包装的末端,所以如果我得到:

<<data>><<data>><<data>> 

我的输出是:

['<<data','<<data','<<data']

但有时我的套接字会收到:

<<da<<data>> 

而且我无法响应最后一条数据消息,我想用开始"<<"和结束">>"剪切,并在两者之间获取数据。

你可以使用RegExp来实现这一点。

const strP = "<<data<<<<data>>";
let tempResult;
const regExp = RegExp('<<(\w+)(>>|<<)', 'g');
while ((tempResult = regExp.exec(strP)) !== null) {
console.log(`Package data: ${tempResult[1]}`);
}

最新更新