我有一个tcp套接字,包含"<<"
包的开头和包">>"
的结尾,所以我的数据是"<< data >>"
。
let stream = socket.pipe(split('>>'));
stream.on('data', (data) => { /*do something with data*/ };
我用这个来削减包的结尾,所以如果我得到:
<<data>><<data>><<data>>
我的输出是:
['<<data','<<data','<<data']
但有时我的套接字会收到:
<<da<<data>>
我无法回复最后一条数据消息,我想切换为开始"<<"
并结束">>"
,并获取数据。
答案 0 :(得分:0)
您可以使用RegExp。
const strP = "<<data<<<<data>>";
let tempResult;
const regExp = RegExp('<<(\\w+)(>>|<<)', 'g');
while ((tempResult = regExp.exec(strP)) !== null) {
console.log(`Package data: ${tempResult[1]}`);
}
&#13;