我有这样的字符串;
a-variable-part[]
another-string[x]
不知道每个字符串的长度我想将字符串的第一部分与内部的字符串分开[]
在上面的例子中我想得到:
答案 0 :(得分:4)
您可以使用正则表达式找到这样的两个部分:
function getParts(str) {
var matches = str.match(/(^.*?)\[(.*?)\]/);
if (matches) {
return({first: matches[1], second: matches[2]});
}
return(null);
}
工作演示:http://jsfiddle.net/jfriend00/Nn63v/
为了解释正则表达式,它匹配从字符串的开头到第一个[char。]的第一组字符。然后,它匹配[和]之间的第二组字符。
答案 1 :(得分:2)
如果你运行:
'another-string[x]'.slice(0, -1).split('[');
它将为您提供两个元素的数组:["another-string", "x"]
答案 2 :(得分:0)
在基本级别,这将有效:
var myString = 'foo[bar]';
var bitInBrackets = myString.split('[')[1].split(']')[0];// will be string 'bar'
如果您要进行大量的字符串操作,可能值得学习一下有关正则表达式的知识,但如果这是您想做的全部,并且您知道字符串将遵循此格式,则上述工作正常
希望这有帮助
答案 3 :(得分:0)
使用正则表达式执行此操作的最佳方法
var result = input.match( /^([^\[]+)\[([^\]]+)\]$/ );