简体   繁体   English

从JavaScript字符串中切出一个字符

[英]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 would do it this way 我会这样

var str = 'rule_Group[0][5]';
var numb = str.split('[').pop().replace(']','');

FIDDLE 小提琴

Just seems easier ? 看起来似乎更容易?

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM