微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在一段特定的文本后替换给定长度的子字符串

如何解决在一段特定的文本后替换给定长度的子字符串

我被卡住了 :) 使用 javascript。 我从一个仪器得到输出,下面是部分输出。我需要验证这些数据。 在以“MSH”开头的行上,仪器字段之后是日期和时间
20210204220807+00:00
这在输出中重复了几次,我想把它从字符串中去掉。

我会将系统日期和时间精确到分钟。例如 202102042208 。我如何使用它来删除整个文本出现的任何地方?所以替换202102042208+接下来的8个字符。

不知道我该怎么做?任何帮助表示赞赏

MSH|^~\&|New1|| Instrument 1||**20210204220807+00:00**||RSP^K11^RSP_K11|547CwlxiBkSMM9D2tSU+pw|P|2.5.1||||||UNICODE UTF-8|||LAB-27R^wegewg
MSA|AA|1234
QAK|query1234|OK|INIBAR^^99ROC
QPD|INIBAR^^99ROC|query1234|Sample1|50001|1|||||SERPLAS^^99ROC|^^99ROC|R 

解决方法

你可以使用^(MSH.*)202102042208.{8}

  • ^(MSH.*),捕获从MSH**的匹配字符串,用于替换或$1
  • .{8} 匹配任何长度为 8 的字符

var str = `MSH|^~\&|New1|| Instrument 1||**20210204220807+00:00**||RSP^K11^RSP_K11|547CwlxiBkSMM9D2tSU+pw|P|2.5.1||||||UNICODE UTF-8|||LAB-27R^wegewg
MSA|AA|1234
QAK|query1234|OK|INIBAR^^99ROC
QPD|INIBAR^^99ROC|query1234|Sample1|50001|1|||||SERPLAS^^99ROC|^^99ROC|R 
MSH|^~\&|New1|| Instrument 1||**20210204220807+00:00**||RSP^K11^RSP_K11|547CwlxiBkSMM9D2tSU+pw|P|2.5.1||||||UNICODE UTF-8|||LAB-27R^wegewg`

str = str.replace(/^(MSH.*)202102042208.{8}/gm,'$1Date_Removed')
console.log(str)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。