如何从"开始提取字符串:"从另一个字符串的结尾?

时间:2013-10-28 05:37:47

标签: javascript

我有javascript字符串,内容如下:

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

如何从字符串中提取yyyyy?注意我想在最后一个“:”和字符串结尾之间得到文本。

6 个答案:

答案 0 :(得分:3)

您可以使用String.prototype.split()并获取结果数组中的最后一个:

var a = " xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy ".split(':');
console.log(a[a.length - 1]); // " yyyyyyyyyyyyyyyyy "

答案 1 :(得分:3)

你可以使用这样的正则表达式:

/:\s*([^:]*)\s*$/

这将匹配文字:,后跟零个或多个空格字符,后跟零组合1中捕获的除 :以外的任何字符中的零个或多个,零个或多个空格字符和字符串的结尾。

例如:

var input = " xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy ";
var output = input.match(/:\s*([^:]*)\s*$/)[1];
console.log(output); // "yyyyyyyyyyyyyyyyy"

答案 2 :(得分:3)

var s = " xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy "
s.substring(s.lastIndexOf(':')+1)

答案 3 :(得分: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 

答案 4 :(得分:2)

var str=" xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy "

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

var output=arr[arr.length-1];

答案 5 :(得分:1)

var s=" xxxxxxx -errors follow: xxxxxxxxx failed validation xxxxx : yyyyyyyyyyyyyyyyy "

s= s.substr(s.lastIndexOf(':')+1);