0

我有一些可能在 URL 上的字符串.. ala.. 我可以“获取名称/值”等.. 这不是问题。问题是,给定一些测试,我需要在值中“插入”其他字符。所以:

var someValue = "yes_maybe_next_year"

如果我得到一个带有“_maybe”的字符串,我会在它之后插入我的额外字符,ala。所以它会变成:

var charsToInsert = "_no";
var someValue = "yes_maybe_next_year";
var newValue = "yes_maybe_no_next_year";

这是摩擦。我可能不会在那里得到“也许”。所以我需要在“是”之后插入“_no”。这是第二次摩擦。该字符串可能包含不同于“next_year”的字符。

var someValue = "yes_sometime_later";

所以,事实上:我需要能够通过正则表达式插入类似的东西。

var regex = /^(yes_)(maybe_)(\w*)?/

我实际上不知道如何做到这一点。

所以,如果“maybe_”存在,我会在它后面加上“no”,否则在“yes_”后面加上“no”。

4

1 回答 1

3

这是一种可能的解决方案:

var newValue = someValue.replace(/yes_(maybe_)?/, "$&no_");

// "yes_maybe_next_year" --> "yes_maybe_no_next_year"
// "yes_sometime_later"  --> "yes_no_sometime_later"
于 2013-02-20T09:03:36.620 回答