node.js - 如何在 JavaScript 中使用开始和结束分隔符拆分字符串?
问题描述
我有一个包开头和包"<<"
结尾的tcp 套接字">>"
,所以我的数据是"<< data >>"
.
let stream = socket.pipe(split('>>'));
stream.on('data', (data) => { /*do something with data*/ };
我正在使用它来切割包装的末端,所以如果我得到:
<<data>><<data>><<data>>
我的输出是:
['<<data','<<data','<<data']
但有时我的套接字会收到:
<<da<<data>>
而且我无法回复最后一条数据消息,我想用 begin"<<"
和 end剪切">>"
,并在两者之间获取数据。
解决方案
您可以为此使用 RegExp。
const strP = "<<data<<<<data>>";
let tempResult;
const regExp = RegExp('<<(\\w+)(>>|<<)', 'g');
while ((tempResult = regExp.exec(strP)) !== null) {
console.log(`Package data: ${tempResult[1]}`);
}
推荐阅读
- python - 如何通过访问分组数据的特定列然后将其转换回数据帧来对分组数据执行计算
- django - Django:在获取请求中返回了来自表单的不正确的下拉值
- r - 将 2 列 5 行的数据框变成 5 列 1 行的数据框
- docusignapi - 用于远程签名的身份验证类型 (Docusign)
- postgresql - Postgres 函数的默认语言是什么?
- r - 是否有可能在 Shiny 应用程序中捕获所有错误?
- python - Jupyter 笔记本不规律地变得无响应
- c - 如何将十六进制 str 转换为 int?
- c++ - GLFW 无法在 Ubuntu 上初始化?
- javascript - 如何将 React 组件添加到循环中?