我必须使用JavaScript拆分值,并希望从字符串中找到最后出现的斜杠/
,并在最后一个斜杠/
之后替换内容。例如:
var word = "www.abc/def/ghf/ijk/**default.aspx**";
应该成为
var word ="www.abc/def/ghf/ijk/**replacement**";
每次都可以改变斜杠的数量。
答案 0 :(得分:8)
尝试使用regexp:
"www.abc/def/ghf/ijk/default.aspx".replace(/\/[^\/]+$/, "/replacement");
答案 1 :(得分:5)
没有正则表达式的替代方法(我只记得lastIndexOf()
方法)
var word = "www.abc/def/ghf/ijk/default.aspx";
word = word.substring(0, word.lastIndexOf("/")) + "/replacement";
答案 2 :(得分:2)
您可以在'/'上拆分数组,然后弹出数组中的最后一个元素,然后重新加入。
word = word.split('/');
word.pop();
word = word.join('/') + replacement;
答案 3 :(得分:1)
使用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('/');
这里的斜杠数无关紧要,因为所做的只是在分隔符的每个实例(在本例中为斜杠)中拆分字符串。
答案 4 :(得分:1)
KISS原则怎么样?
var word = "www.abc/def/ghf/ijk/default.aspx";
word = word.substring(0, word.lastIndexOf("/")) + "/replacement";
答案 5 :(得分:0)
使用regexp或数组,例如:
[].splice.call(word = word.split('/'), -1, 1, 'replacement');
word = word.join('/');