gpt4 book ai didi

javascript - 替换字符串中的项目

转载 作者:行者123 更新时间:2023-11-30 16:09:38 24 4
gpt4 key购买 nike

目前我的脚本中有这条一般性错误消息,我想用更具体的细节替换它。

errorMessage: "Your selected file, {{fileName}}, is not a proper format of {{formats}}"

我想将 fileName 替换为他们选择的文件的名称。

这是我目前的工作:

validateError(
errorMessage.replace(/{{formats}}/, formatArray)
);

所以我试了一下:

validateError(
errorMessage.replace(/{{formats}}/, formatArray),
errorMessage.replace(/{{fileName}}/, inputFile.name)
);

当我运行它时,{{fileName}} 以这种方式出现并且没有被文件名替换。 inputFile 是一个已声明的变量,它已经包含文件数据信息,因此我知道该名称确实存在。

我做错了什么或忽略了什么?

最佳答案

.replace 函数不会改变字符串(JavaScript 中的字符串是不可变的),但会返回一个新字符串。因此,您可以将结果保存到变量或链接 .replace 调用。此外,由于您使用的是正则表达式,我建议转义 {,因为它是一个特殊字符,或者只使用 string

保存到变量(使用字符串而不是正则表达式):

var formatReplaced = errorMessage.replace('{{formats}}', formatArray);
validateError(formatReplaced.replace('{{fileName}}', inputFile.name));

或者链接 .replace 调用(转义特殊的正则表达式字符):

validateError(errorMessage.replace(/\{\{formats\}\}/, formatArray).replace(/\{\{fileName\}\}/, inputFile.name));

我还建议为您的变量提供更好的名称。在阅读 formatArray 时,我假设它是一个数组,直到您提到它与 replace 函数一起使用。我推荐类似 userFormat 的东西。

关于javascript - 替换字符串中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36468370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com