5

C#ではこれを行うことができます

string ID = "ContentPlaceHolderDefault_MainSiteSectionArea_MyPagePlaceHolder_Item4_FavoritAmusementCalender_6_deleteRight_2";   
ID = ID.Substring(ID.LastIndexOf("_") + 1); 

最後のintを返す2

jQuery / JavaScriptでこれを最も簡単に行うにはどうすればよいですか

ID は動的に作成され、現時点では最大 3 桁です。

前もって感謝します。

4

4 に答える 4

13

あなたは近かった - 大文字と小文字を区別するだけです:

ID = ID.substring(ID.lastIndexOf("_") + 1);

JS フィドルの例

于 2013-04-28T01:46:08.000 に答える
5

JavaScript にもlastIndexOf()メソッドがあります。こちらを参照してください。したがって、次を使用できます。

var str1 = "Blah, blah, blah Calender_6_deleteRight_272";
var str2 = str1.substr (str1.lastIndexOf ("_") + 1);

これにより、 が得られます272

文字列にアンダースコアが含まれていない場合は、元の文字列全体が返されることに注意してください。特定のケースでは、それが望ましい場合とそうでない場合があります。これを検出するために、lastIndexOf()呼び出しの結果を確認できます。-1

于 2013-04-28T01:44:28.360 に答える
0

試しましたstr.substr(-1)か?

于 2013-04-28T01:40:25.127 に答える
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
于 2013-04-28T01:45:31.480 に答える