如何从“ xxx_不确定长度”的“ xxx_456”中提取“ 456”?
Answers:
slice
在IE和其他浏览器上都能正常工作,这是规范的一部分,也是最有效的方法:
alert("xxx_456".slice(-3));
//-> 456
"xxx_456".slice(3)
"xxx_456".slice(0, -3)
该子方法允许你指定的开始和结束索引:
var str = "xxx_456";
var subStr = str.substring(str.length - 3, str.length);
String.prototype.reverse( ) {
return Array.prototype.slice.call(this)
.reverse()
.join()
.replace(/,/g,'')
}
使用反向字符串方法
var str = "xxx_456"
str = str.reverse() // 654_xxx
str = str.substring(0,3) // 654
str = str.reverse() //456
如果您的反向方法返回字符串,则将方法链接起来以获得更简洁的解决方案。
疯狂的正则表达式方法
"xxx_456".match(/...$/)[0] //456
_
。
这是我的自定义功能
function reverse_substring(str,from,to){
var temp="";
var i=0;
var pos = 0;
var append;
for(i=str.length-1;i>=0;i--){
//alert("inside loop " + str[i]);
if(pos == from){
append=true;
}
if(pos == to){
append=false;
break;
}
if(append){
temp = str[i] + temp;
}
pos++;
}
alert("bottom loop " + temp);
}
var str = "bala_123";
reverse_substring(str,0,3);
此功能适用于反向索引。
"xxxxxxx_456".slice(-3)
您也可以使用substring
和lastIndexOf
-获得结果
alert("xxx_456".substring("xxx_456".lastIndexOf("_")+1));