【问题标题】:How do I split a string with begin and end separators in JavaScript?如何在 JavaScript 中使用开始和结束分隔符拆分字符串?
【发布时间】:2018-11-11 17:26:07
【问题描述】:

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

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

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

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

我的输出是:

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

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

<<da<<data>> 

我无法回复最后一条数据消息,我想以开头"&lt;&lt;" 和结尾"&gt;&gt;" 进行剪切,并在两者之间获取数据。

【问题讨论】:

    标签: node.js sockets stream pipe


    【解决方案1】:

    您可以为此使用 RegExp。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多