-2

次のような内容の JavaScript 文字列があります。

" xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy " 

文字列から yyyyy だけを抽出するにはどうすればよいですか? 最後の「:」と文字列の末尾の間のテキストを取得したいことに注意してください。

4

6 に答える 6

3
var s = " xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy "
s.substring(s.lastIndexOf(':')+1)
于 2013-10-28T05:42:09.103 に答える
3

String.prototype.split()結果の配列の最後のものを使用して取得できます。

var a = " xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy ".split(':');
console.log(a[a.length - 1]); // " yyyyyyyyyyyyyyyyy "
于 2013-10-28T05:39:13.523 に答える
3

次のような正規表現を使用できます。

/:\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"
于 2013-10-28T05:39:32.100 に答える
2

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 
于 2013-10-28T05:40:40.120 に答える
2
var str=" xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy "

var arr=new Array(); arr=str.split(":");

var output=arr[arr.length-1];
于 2013-10-28T05:45:55.617 に答える
1
var s=" xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy "

s= s.substr(s.lastIndexOf(':')+1);
于 2013-10-28T05:59:28.033 に答える