[英]Cut just one character out of a javascript string
I want to remove what is inside the last bracket of a string. 我想删除字符串最后一个括号内的内容。
This is the ids string: 这是id字符串:
rule_Group[0][5]
This is my Javascript code 这是我的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)
I want to keep the 5 in the brackets. 我想将5放在括号中。 No matter what JS doesn't allow me to cut out just one character. 不管什么JS不允许我只剪切一个字符。 I have even manually tried to do this with no luck. 我什至手动尝试这样做,但没有运气。
Any advice? 有什么建议吗?
use substring
instead of substr
. 使用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)
The second parameter of substr
is the length of the substring to return, not an index. substr
的第二个参数是要返回的子字符串的长度,而不是索引。 So if you know you want just one character, this would work: 因此,如果您知道只需要一个字符,则可以使用:
var a = str.lastIndexOf("[") + 1;
var res = str.substr(a, 1);
Of if you don't know how long the substring is, use this: 如果您不知道子串的长度,请使用以下命令:
var a = str.lastIndexOf("[") + 1;
var b = str.lastIndexOf("]");
var res = str.substr(a, b - a);
I think you can just do this: 我认为您可以这样做:
var a = str.lastIndexOf("[")+1;
var res = str.charAt(a);
Try it out and let me know if it works :-) 尝试一下,让我知道它是否有效:-)
Cheers, 干杯,
Roiw 罗伊
EDIT: 编辑:
You can use regular expressions if you want (this will work for your case): 您可以根据需要使用正则表达式(这将适用于您的情况):
var str = "rule_Group[0][123456789]";
var patt1=new RegExp("^.*?\\[.*?\\[");
var patt2=new RegExp("\\].*?$");
var result = str.replace(patt1,"");
result = result.replace(patt2,"");
Cheers, 干杯,
Roiw 罗伊
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.