如何在JavaScript中拆分值

时间:2012-09-03 13:40:22

标签: javascript

我必须使用JavaScript拆分值,并希望从字符串中找到最后出现的斜杠/,并在最后一个斜杠/之后替换内容。例如:

var word = "www.abc/def/ghf/ijk/**default.aspx**";

应该成为

var word ="www.abc/def/ghf/ijk/**replacement**";

每次都可以改变斜杠的数量。

6 个答案:

答案 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('/');

这里的斜杠数无关紧要,因为所做的只是在分隔符的每个实例(在本例中为斜杠)中拆分字符串。

Here is a working demo

答案 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('/');