Javascript заменить строковую функцию - PullRequest
0 голосов
/ 30 января 2019

У меня есть скрипт, который я пытаюсь написать, который берет строку и находит dmcode, затем отправляет его в функцию для правильного форматирования и возвращает значение.Кажется, это работает, но я не могу заставить функцию замены работать со строкой, вызывающей ее.Это должно быть легко, но все, что я пробовал, приводило к ошибкам.

Ваша помощь приветствуется.Макс

function scrubDMC(DM){
var dmcode = DM;
 for (var i = 0; i < dmcode.length; i++) {

   DMC = dmcode[i];
   match = DMC.match(/modelIdentCode="(.*?)"/im);
   if (match !== null) {
     var modelIdentCode = match[1];
   }

   match = DMC.match(/systemDiffCode="(.*?)"/im);
   if (match !== null) {
     var systemDiffCode = match[1];
   }

   match = DMC.match(/\ssubSystemCode="(.*?)"/im);
   if (match !== null) {
     var subSystemCode = match[1];
   }

   match = DMC.match(/subSubSystemCode="(.*?)"/im);
   if (match !== null) {
     var subSubSystemCode = match[1];
   }

}
 var sFileName = "DMC-" + modelIdentCode +"-"+ systemDiffCode +"-"+ systemCode + "-" + subSystemCode + subSubSystemCode + "-" + assyCode +"-"+ disassyCode + disassyCodeVariant +"-" + infoCode +infoCodeVariant +"-" +itemLocationCode;

 console.log("sFileName : " + sFileName);

 return sFileName;
 }

Код вызова функции, которая не работает

var readyWarn2 = readyWarn.replace(/<symbol infoEntityIdent=".*?"\/>/ig, "");
var dmcode = readyWarn2.match(/<dmcode.*?>/ig);
scrubDMC(dmcode);
readyWarn2.replace(dmcode, sFileName);

1 Ответ

0 голосов
/ 30 января 2019

Ваша последняя строка должна быть

readyWarn2 = readyWarn2.replace(dmcode, sFileName);

Строки JavaScript не могут быть изменены, поэтому String.replace() возвращает новое строковое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...