我正在使用 JavaScript/TypeScript。
我有一个字符串,其中可能包含一些表示重要性或紧迫性的标签。示例:
A:“提醒我明天去商店。这真的很重要”
B:“明天去商店很重要。”
我已经建立了一种方法来确定重要短语在主要短语中的位置。例如,对于字符串 A,重要性短语位于字符 40 和 62 之间。在短语 B 中,它位于字符 0 和 16 之间。
我有一个 JSON 对象,它描述了重要性短语的起点/终点:
this.importancePosition = { start: 40, stop: 62 }
没问题。
所以我有其他短语元素检测器:
this.urgencyPosition = { start: 20, stop: 30 }
this.locationPosition = { start: -1, stop: -1 }
等等。
顺便说一下,我使用 -1 作为未找到令牌的指示符。此外,子短语可能不按顺序排列。
那么问题来了:
假设我有主要短语和每个检测到的子短语的位置。现在,我想返回主短语中不属于子短语之一的所有内容。
我有这个:
[aaaaaaaaaaaaaaaaa[subphrase]bbbb[subphrase]ccccccccccccccccccccccccccccccccccccccccc[subphrase]]
我想返回这个:
[aaaaaaaaaaaaaaaaa bbbb ccccccccccccccccccccccccccccccccccccccccc]
什么是有效的方法来做到这一点?我已经考虑过将它们从主字符串中使用正则表达式,但这是最干净的方法吗?
假设 mainPhrase 是一个字符串,请尝试:
var replacedPhrase = mainPhrase.replace(/\[subphrase\]/g, " ");
我不确定我对 JS 中的正则表达式有多生疏,但我认为这应该有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句