0

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

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

应该成为

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

斜线的数量可能每次都不同。

4

6 回答 6

8

尝试使用正则表达式:

"www.abc/def/ghf/ijk/default.aspx".replace(/\/[^\/]+$/, "/replacement");
于 2012-09-03T13:41:50.723 回答
5

没有正则表达式的替代方法(我只记得lastIndexOf()方法)

var word = "www.abc/def/ghf/ijk/default.aspx";
word = word.substring(0, word.lastIndexOf("/")) + "/replacement";
于 2012-09-03T13:43:36.923 回答
2

您可以在“/”上拆分数组,然后从数组中弹出最后一个元素,然后重新加入。

word = word.split('/');
word.pop();
word = word.join('/') + replacement;
于 2012-09-03T13:44:05.017 回答
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('/');

斜杠的数量在这里并不重要,因为所做的只是在分隔符的每个实例处拆分字符串(在本例中为斜杠)。

这是一个工作演示

于 2012-09-03T13:44:12.863 回答
1

KISS原则怎么样?

var word = "www.abc/def/ghf/ijk/default.aspx";
word = word.substring(0, word.lastIndexOf("/")) + "/replacement";
于 2012-09-03T13:44:15.860 回答
0

使用正则表达式或数组,例如:

[].splice.call(word = word.split('/'), -1, 1, 'replacement');
word = word.join('/');
于 2012-09-03T13:49:36.393 回答