在C#中,我可以这样做
string ID = "ContentPlaceHolderDefault_MainSiteSectionArea_MyPagePlaceHolder_Item4_FavoritAmusementCalender_6_deleteRight_2";
ID = ID.Substring(ID.LastIndexOf("_") + 1);
返回最后一个int 2
我怎样才能在jQuery / JavaScript
中轻松完成此任务id是动态创建的,现在最多可以创建3位数。
提前致谢。
答案 0 :(得分:13)
答案 1 :(得分:5)
JavaScript也有lastIndexOf()
方法,请参阅here。因此,您可以使用:
var str1 = "Blah, blah, blah Calender_6_deleteRight_272";
var str2 = str1.substr (str1.lastIndexOf ("_") + 1);
这会为您提供272
。
请注意,如果字符串不包含下划线,您将完整地返回原始字符串。在您的具体情况下可能需要或可能不需要 - 您可以查看针对lastIndexOf()
的{{1}}电话的结果来检测此情况。
答案 2 :(得分:0)
您是否尝试过str.substr(-1)
?
答案 3 :(得分:0)
你应该这样做:
function get_last_part(str){
var split = str.split('_');
return split[split.length-1];
}
console.log(get_last_part("ContentPlaceHolderDefault_MainSiteSectionArea_MyPagePlaceHolder_Item4_FavoritAmusementCalender_6_deleteRight_2")); // this will write "2" in console
通过这种方式,您将始终获得结果,并且您无需担心索引问题。这将始终返回字符串的最后一部分,如果它没有_
,您将获得它的第一部分。
console.log(get_last_part("Content")); // will write "Content" into console