在javascript中操作替换字符串

时间:2014-01-09 14:56:29

标签: javascript

I have three variables in javascript like

var a = document.getElementById("txtOrderNumberRelease1").value;
var b  = document.getElementById("txtOrderNumberRelease2").value 
var c = document.getElementById("ddlOrderNumberRelease3");

var mainString ="ROAM-LCD-Synergy-789-456-LLX WARRANTY"

在mainString中,值“789”来自变量“a”, 值“456”来自变量b,值“LLX”来自变量“c”。 变量“a”和“b”将始终为整数,而变量“c”将始终为三个值之一,即。 “LLI,LLA,LLX”。

在值“789”之前,可以有任何数量的单词由“ - ”分开。像ROAM-LCD-Synergy-SSI等...... 但是在mainString中变量“c”的值,即“LLX”之后,例如,只能有一个单词。 “保证”。

现在我的问题是,我必须替换“a”,“b”和“c”这三个值。使用我新输入的值“789-456-LLX”可以说987-654-LLA,那么我想要的最终字符串就是

old string:mainString =“ROAM-LCD-Synergy-789-456-LLX WARRANTY”

所需字符串:mainString =“ROAM-LCD-Synergy-987-654-LLA保修”

请提出一些建议。

由于

5 个答案:

答案 0 :(得分:1)

var a = 123; 
var b = 456; 
var c = "ABC";
var mainString ="ROAM-LCD-Synergy-789-456-LLX WARRANTY";

var updatedString = mainString .replace(/\d{3}-\d{3}-[A-Z]{3}\s([^\s]*)$/,a+"-"+b+"-"+c+" $1");
console.log(updatedString);

答案 1 :(得分:0)

这样的事情应该有效:

mainString.replace(/[\d]{3}\-[\d]{3}\-[\w]{3}\s([\w]+)$/, a + "-" + b + "-" + c + " $1");

答案 2 :(得分:0)

这是一个使用string.split的选项。

function replaceLastThreeDashedFields(original,a,b,c) {
    var spaceSplit = original.split(' ');
    var dashSplit = spaceSplit[0].split('-');
    dashSplit[dashSplit.length - 3] = a;
    dashSplit[dashSplit.length - 2] = b;
    dashSplit[dashSplit.length - 1] = c;
    var newDashed = dashSplit.join('-');
    spaceSplit[0] = newDashed;
    var newSpaced = spaceSplit.join(' ');
    return newSpaced;
}

答案 3 :(得分:-1)

以下代码应根据a,b和c ...

的值进行更新
var mainString ="ROAM-LCD-Synergy-789-456-LLX WARRANTY";

var a = document.getElementById("txtOrderNumberRelease1").value;
var b  = document.getElementById("txtOrderNumberRelease2").value;
var c = document.getElementById("ddlOrderNumberRelease3");

mainString = mainString.replace("789",a);
mainString = mainString.replace("456",b);
mainString = mainString.replace("LLX",c);

答案 4 :(得分:-1)

只需在分配前更改值?在声明变量之前放置它。

document.getElementById("txtOrderNumberRelease1").value = '987';
document.getElementById("txtOrderNumberRelease2").value = '654';
document.getElementById("txtOrderNumberRelease3").value = 'LLA';