尝试使用获取请求替换“*”之间的文本

问题描述 投票:0回答:0

我正在构建一个 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 上的尝试,我知道它可以满足我的要求。

regex post google-chrome-extension fetch-api
© www.soinside.com 2019 - 2024. All rights reserved.