我必须使用 JavaScript 拆分值,并希望/
从字符串中找到最后出现的斜杠并替换最后一个斜杠之后的内容/
例如:
var word = "www.abc/def/ghf/ijk/**default.aspx**";
应该成为
var word ="www.abc/def/ghf/ijk/**replacement**";
斜线的数量可能每次都不同。
我必须使用 JavaScript 拆分值,并希望/
从字符串中找到最后出现的斜杠并替换最后一个斜杠之后的内容/
例如:
var word = "www.abc/def/ghf/ijk/**default.aspx**";
应该成为
var word ="www.abc/def/ghf/ijk/**replacement**";
斜线的数量可能每次都不同。
尝试使用正则表达式:
"www.abc/def/ghf/ijk/default.aspx".replace(/\/[^\/]+$/, "/replacement");
没有正则表达式的替代方法(我只记得lastIndexOf()
方法)
var word = "www.abc/def/ghf/ijk/default.aspx";
word = word.substring(0, word.lastIndexOf("/")) + "/replacement";
您可以在“/”上拆分数组,然后从数组中弹出最后一个元素,然后重新加入。
word = word.split('/');
word.pop();
word = word.join('/') + replacement;
使用join()
和split()
函数的组合怎么样?
var word = "www.abc/def/ghf/ijk/default.aspx";
// split the word using a `/` as a delimiter
wordParts = word.split('/');
// replace the last element of the array
wordParts[wordParts.length-1] = 'replacement';
// join the array back to a string.
var finalWord = wordParts.join('/');
斜杠的数量在这里并不重要,因为所做的只是在分隔符的每个实例处拆分字符串(在本例中为斜杠)。
KISS原则怎么样?
var word = "www.abc/def/ghf/ijk/default.aspx";
word = word.substring(0, word.lastIndexOf("/")) + "/replacement";
使用正则表达式或数组,例如:
[].splice.call(word = word.split('/'), -1, 1, 'replacement');
word = word.join('/');