我想对我的split进行更严格的限制,只接受给定的字符串。我的意思是它应该只替换给定的字符串,而不是用_dyna替换的字符串。

我不知道如何转换拆分以解决该问题。

我的愿望是尊重大写字母,并且前提是字符串与给定的字符串相同

我认为只能尊重上限,但也许有人在这里知道我该怎么做


var base = "depends_on: - tomato-app - guacamole_dyna - GUACAMOLE - guacamole - guAcamole"

var newStr = base.split("guacamole").join("newstring");

console.log(newStr)

最佳答案

您可以使用正则表达式,该正则表达式使用空格或字符串的stast或结尾。然后仅替换第二个匹配项。



var base = "depends_on: - tomato-app - guacamole_dyna - GUACAMOLE - guacamole - guAcamole",
    search = 'guacamole',
    replace = 'newstring',
    regex = new RegExp('(^|\\s)' + search + '(?=\\s|$)', 'g'),
    newStr = base.replace(regex, '$1' + replace);

console.log(newStr);

关于javascript - 如何更严格地限制 split ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44260155/

10-11 20:32