次のような内容の JavaScript 文字列があります。
" xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy "
文字列から yyyyy だけを抽出するにはどうすればよいですか? 最後の「:」と文字列の末尾の間のテキストを取得したいことに注意してください。
次のような内容の JavaScript 文字列があります。
" xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy "
文字列から yyyyy だけを抽出するにはどうすればよいですか? 最後の「:」と文字列の末尾の間のテキストを取得したいことに注意してください。
var s = " xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy "
s.substring(s.lastIndexOf(':')+1)
String.prototype.split()
結果の配列の最後のものを使用して取得できます。
var a = " xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy ".split(':');
console.log(a[a.length - 1]); // " yyyyyyyyyyyyyyyyy "
次のような正規表現を使用できます。
/:\s*([^:]*)\s*$/
これは、リテラルの:
後に 0 個以上の空白文字が続き、グループ 1 でキャプチャされた以外の0 個以上の文字が続き、その後に 0 個以上の空白文字と文字列の末尾が続くものと一致します。 :
例えば:
var input = " xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy ";
var output = input.match(/:\s*([^:]*)\s*$/)[1];
console.log(output); // "yyyyyyyyyyyyyyyyy"
string.lastIndexOf()
次の方法を使用できます。
var text = " xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy ";
var index = text.lastIndexOf(":");
var result = text.substring(index + 1); // + 1 to start after the colon
console.log(result); // yyyyyyyyyyyyyyyyy
var str=" xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy "
var arr=new Array(); arr=str.split(":");
var output=arr[arr.length-1];
var s=" xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy "
s= s.substr(s.lastIndexOf(':')+1);