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 に答える