我正在使用 JavaScript/TypeScript。
我有一个字符串,其中可能包含一些指示重要性或紧急程度的标签。示例:
A:“提醒我明天去商店。这真的很重要”
B:“明天去商店很重要。”
我建立了一种方法来识别重要短语在主要短语中的位置。例如,对于字符串 A,重要性短语位于字符 40 到 62 之间。在短语 B 中,重要性短语位于字符 0 到 16 之间。
我有一个 JSON 对象,它描述了重要性短语的开始/结束点:
this.importancePosition = { 开始:40,停止:62 }
没问题。
所以我还有其他短语元素检测器:
this.urgencyPosition = { 开始:20,停止:30 }
this.locationPosition = { 开始:-1,停止:-1 }
等等。
顺便说一句,我使用 -1 作为尚未找到 token 的指示符。此外,子短语可能不按顺序排列。
所以问题是:
假设我有主要短语和每个检测到的子短语的位置。现在,我想返回主短语中不属于子短语之一的所有内容。
我有这个:
[aaaaaaaaaaaaaaaaa[子短语]bbbb[子短语]cccccccccccccccccccccccccccccccccccccccccc[子短语]]
我想返回:
[aaaaaaaaaaaaaaaaa bbbb ccccccccccccccccccccccccccccccccccccccccc]
什么是有效的方法来做到这一点?我考虑过将它们从主字符串中进行正则表达式处理,但这是最干净的方法吗?
最佳答案
假设 mainPhrase 是一个字符串,请尝试:
var replacedPhrase = mainPhrase.replace(/\[subphrase\]/g, " ");
我不确定我对 JS 中的正则表达式有多生疏,但我认为这应该可行。
关于javascript - 寻找返回字符串一部分的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67040338/