Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换文件中的多个变量_Javascript - Fatal编程技术网

Javascript 替换文件中的多个变量

Javascript 替换文件中的多个变量,javascript,Javascript,我使用一个简单的javascript读取文件,替换输入文件中的几个变量,并将更新后的脚本写入输出文件 我的输入文件已被删除 IP{IPADDR}子网{SMASK 我一直在使用这个,但不适用于第二个变量 var rFile=inputFile.replace/IPADDR/g,'182.10.10.1'/SMASK/g,'255.0.0.0' 它只更新IPADDR,而不更新SMASK 有指针吗?您不能在.replace中使用多个值。您可以这样链接它们: let inputFile = 'IP {I

我使用一个简单的javascript读取文件,替换输入文件中的几个变量,并将更新后的脚本写入输出文件

我的输入文件已被删除

IP{IPADDR}子网{SMASK

我一直在使用这个,但不适用于第二个变量

var rFile=inputFile.replace/IPADDR/g,'182.10.10.1'/SMASK/g,'255.0.0.0'

它只更新IPADDR,而不更新SMASK


有指针吗?

您不能在.replace中使用多个值。您可以这样链接它们:

let inputFile = 'IP {IPADDR} Subnet {SMASK).';

var rFile = inputFile
  .replace(/IPADDR/g, '182.10.10.1')
  .replace(/SMASK/g, '255.0.0.0');

return rFile; // 'IP {182.10.10.1} Subnet {255.0.0.0).'
或者,您可以创建一个函数来帮助您在将来:

// In the same file or an another.js
const replace = (text, data) => {
  let replacedText = text;

  Object.keys(data).forEach((key) => {
    replacedText = replacedText.replace(new RegExp(key, "g"), data[key])
  });

  return replacedText;
}

// And your code
let inputFile = 'IP {IPADDR} Subnet {SMASK).';

const data = {
  'IPADDR': '182.10.10.1',
  'SMASK': '255.0.0.0',
}

const rFile = replace(inputFile, data); // 'IP {182.10.10.1} Subnet {255.0.0.0).'

将var rFile=inputFile.Replace/IPADDR/g,'182.10.10.1'/SMASK/g,'255.0.0.0';替换为var rFile=inputFile.Replace/IPADDR/g,'182.10.10.1'。替换/SMASK/g,'255.0.0.0';谢谢,这很有效。