0

大家好,我将有一个用连字符分隔的字符串,我想获取字符串的最后一个索引并将其替换为新值

   var str1="New-New_Folder"; //Replace New_Folder with Folder so that the str becomes
   var newstr1="New-Folder";


   var str2="New-New_Folder-New_Folder"; //Replace the last New_Folder with Sub_Folder so that the str becomes
   var newstr2="New-New_Folder-Sub_Folder";

有人能帮我一下吗?

4

3 回答 3

1

您可以使用 split 然后获取长度减一的最后一个索引:

var string = "some-hyphen-string";
var parts = string.split("-");
var lastPart = parts[parts.length - 1]; //lastPart is now the final index string split

演示:http: //jsfiddle.net/ACfRU/

于 2013-08-23T20:39:23.670 回答
0

使用字符串函数:

var str1 = "New-New_Folder";
var newstr1 = str1.substring(0, str1.lastIndexOf("-")+1) + "Folder";
于 2013-08-23T20:50:56.943 回答
0

我不得不承认这很不清楚,但也许通过 tymeJV 的回答和我的回答,您可以提出适合您需求的解决方案。

var str1="New-New_Folder";
var newstr2 = replaceLast(str1, "Sub_Folder");

alert(newstr2);

function replaceLast(strWhat, strWith) {
    strWhat = strWhat.split("-");
    strWhat[strWhat.length - 1] = strWith;
    strWhat = strWhat.join("-");
    return strWhat;
}

JSFiddle:http: //jsfiddle.net/FF96g/

于 2013-08-23T20:41:21.013 回答