经过一些指定的字符提取值

时间:2014-08-01 09:10:50

标签: javascript jquery

我可以将Javascript变量设为

'Ice Creams***Cone***Frosty';

OR

'Ice Creams***Cone'

我需要在***之后得到最后一个值

在第一种情况下,我需要值 Frosty

在第二种情况下,我需要值 Cone

4 个答案:

答案 0 :(得分:2)

您可以在***split()字符串,然后使用.pop()获取结果数组的最后一个元素:

var str = 'Ice Creams***Cone***Frosty';
var last = str.split("***").pop();

JSFiddle

答案 1 :(得分:1)

只需使用substr()lastIndexOf()方法

即可

示例

function extractEverythingAfter(value, seperator) {
   return value.substr(value.lastIndexOf(seperator) + seperator.length)
}

alert(extractEverythingAfter('Ice Creams***Cone***Frosty', '***'));
alert(extractEverythingAfter('Ice Creams***Cone', '***'));

查看此JSFiddle Demo

更多信息

答案 2 :(得分:0)

您可以使用str.lastIndexOf('***')获取上一个***的索引。

要获取最后一个字段,您可以使用str.substring(index)

var seperator = '***'

// shifting index by seperator length
var i = str.lastIndexOf(seperator) + seperator.length;
var lastSubString = str.substring(i);

答案 3 :(得分:0)

如果在输入字符串中找不到***,则上述所有方法都将失败。

var delimiter = '***';
var str = 'Ice Creams***Cone***Frosty';
var strParts = str.split('***'); //returns an array
var numParts = strParts.length;
if(numParts > 0) {
   console.log(strParts[strParts.length - 1]);
} else {
   console.log('Delimiter ' + delimiter + ' not found in input string');
}