我想删除字符串最后一个括号内的内容。
这是ids字符串:
rule_Group[0][5]
这是我的Javascript代码
var str = 'rule_Group[0][5]';
var a = str.lastIndexOf("[") + 1;
var b = str.lastIndexOf("]") - 1;
var res = str.substr(a,b)
document.write(res)
我想把5放在括号中。无论JS不允许我只剪出一个角色。我甚至手动试图这样做没有运气。
有什么建议吗?
答案 0 :(得分:3)
使用substring
代替substr
。
var str = 'rule_Group[0][5]';
var a = str.lastIndexOf("[") + 1;
var b = str.lastIndexOf("]");
var res = str.substring(a,b)
document.write(res)
答案 1 :(得分:0)
substr
的第二个参数是要返回的子字符串的长度,而不是索引。所以如果你知道你只想要一个角色,那就可以了:
var a = str.lastIndexOf("[") + 1;
var res = str.substr(a, 1);
如果你不知道子串的长度,请使用:
var a = str.lastIndexOf("[") + 1;
var b = str.lastIndexOf("]");
var res = str.substr(a, b - a);
答案 2 :(得分:0)
答案 3 :(得分:0)
我认为你可以这样做:
var a = str.lastIndexOf("[")+1;
var res = str.charAt(a);
尝试一下,让我知道它是否有效: - )
干杯,
Roiw
编辑:
如果需要,您可以使用正则表达式(这适用于您的情况):
var str = "rule_Group[0][123456789]";
var patt1=new RegExp("^.*?\\[.*?\\[");
var patt2=new RegExp("\\].*?$");
var result = str.replace(patt1,"");
result = result.replace(patt2,"");
干杯,
Roiw