私は
var id="ctl03_Tabs1";
JavaScriptを使用して、最後の5文字または最後の文字を取得するにはどうすればよいですか?
EDIT: 他の方が指摘されているように、substr
の代わりにslice(-5)
を使用してください。 ただし、別のアプローチとして、この回答の下部にある.split().pop()
のソリューションを参照してください。
元の回答:
Javascriptの文字列メソッド .substr()
と .length
プロパティを組み合わせて使用することになります。
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
これは、id.length - 5から始まる文字を取得し、.substr()の第2引数が省略されているので、文字列の最後まで続きます。
他の方が以下で指摘されているように、.slice()
メソッドを使うこともできます。
単純にアンダースコアの後の文字を探したいのであれば、こうすればいいでしょう。
var tabId = id.split("_").pop(); // => "Tabs1"
これはアンダースコアで文字列を配列に分割し、配列の最後の要素(欲しい文字列)を「ポップ」します。
文字列を配列として扱うことができるので、最後の1文字を取得するのは簡単です。
var lastChar = id[id.length - 1];
文字列の一部分を取得するには、substr関数やsubstring関数を使います。
id.substr(id.length - 1); //get the last character
id.substr(2); //get the characters from the 3rd character on
id.substr(2, 1); //get the 3rd character
id.substr(2, 2); //get the 3rd and 4th characters
substrと
substringの違いは、2番目の(オプションの)パラメータの扱い方です。substr
では、インデックス(第1パラメータ)からの文字数となります。substring`では、文字のスライスが終わるべき場所のインデックスです。