替换javascript正则表达式中字符串中的模式之后的子字符串

时间:2017-11-02 16:08:49

标签: javascript regex

让我说我有一个字符串 "/fixed_string1/{random_string1}/fixed_string2/fixed_string3"

我需要将random_string1替换为其他一些。

我需要的结果应该是这样的 "/fixed_string1/{random_string2}/fixed_string2/fixed_string3"

random_string2未知时,random_string1已知。

任何人都可以使用javascript正则表达式提出建议。

2 个答案:

答案 0 :(得分:2)

匹配你知道的部分

    var str = "/fixed_string1/{random_string1}/fixed_string2/fixed_string3";
    var updated = str.replace(/(\/fixed_string1\/)[^\/]*/,"$1foobar");
    console.log(updated)

或者您可以将其拆分为数组,替换索引,然后将其重新连接起来

    var str = "/fixed_string1/{random_string1}/fixed_string2/fixed_string3";
    var parts = str.split("/");
    parts[2] = "foobar"
    var updated = parts.join("/");
    console.log(updated)

答案 1 :(得分:0)

试试这个。

var string = "/fixed_string1/{random_string1}/fixed_string2/fixed_string3";
var regex = / *\{[^)]*\} */g; 
string = string.replace(regex, "$1 ###ADDED TEXT### $3");
console.log(string);