我正在构建一个 Chrome 扩展程序,它可以将 Speech-to-Text 到 Google 文档中。我正在使用的 API 向我发送了两种通过语音注册的数据,一些来得更快但不太准确,而另一些则相反。现在,我首先将更快的版本写入 Docs,然后我希望将其替换为更准确的版本。首先,我尝试将更快的版本保存到缓冲区中,以便我可以在之后轻松替换它:
const requests = [
{
replaceAllText: {
replaceText: recivedMyText + ' ',
containsText: {
text: buffMyText,
},
},
},
];
但有时会出现一个问题,即 buffMyText 不会保存与发送到文档的完全相同的文本(它可能有随机垃圾,基本上取消了该部分的替换)。 所以我尝试了一种替代方法,我将 * 添加到更快的文本中,这样我就可以替换文档中星号之间的所有内容。我试过用正则表达式替换:
const requests = [
{
replaceAllText: {
replaceText: recivedMyText + '',
containsText: {
matchCase: true,
text: regex,
wildcardRegex: true,
},
},
},
];
使用以下正则表达式变量:
const regex = '\\*(.*?)\\*';
这是我第一次使用正则表达式,所以表达式可能是错误的,但根据我在 RegExr 上的尝试,我知道它可以满足我的要求。