使用方括号更改字符串内的数据

时间:2017-05-11 07:50:04

标签: javascript string

我有一个字符串

garments[0][1]; // The 0 and 1 can be other numbers

我需要替换第二个和第三个方括号内的数据。

[0] and [1]

这样就可以

garments[4][6]

如果有机会,请告诉我你的建议,谢谢。

4 个答案:

答案 0 :(得分:1)

您可以尝试:

var string = 'garments[' + 4 + '][' + 6 + ']'; //in your onClick function  
//To increment dynamically:  
var string = 'garments[' + i + '][' + j + ']'; //i and j being variables incrementing in your loops/treatments  

更新以发表评论
如果您想将"garnments[0][1]"分为"garnments"01,您可以执行以下操作:

var string = "garnments[0][1]";  
string = string.split('['); //string = [["garnments"],["0]"],["1]"]]
string[1].replace(']','');
string[2].replace(']',''); //string = [["garnments"],["0"],["1"]]

然后,您可以更改值并重建字符串以供进一步使用。

虽然有点残酷。您可以使用@Diego

所示的RegExp

答案 1 :(得分:0)

您可以使用String.prototype.replace()

'garments[0][1]'.replace('[0]','[4]').replace('[1]','[6]')

答案 2 :(得分:0)

这将是我的方法。

var string = "['foobar'][2][12]";

var match = 
  /\[([^\]]+)\](?:\[(\d+)\])(?:\[(\d+)\])/g
  .exec(string);
   
console.log(match);

答案 3 :(得分:0)

对于*** [m] [n]格式的任何可能字符串:

Function SetNewValues(testString, n, m)
{
    var keyWordLengh = testString.indexOf("[");
    return testString.substring(0,keyWordLengh) + "[" + n.toString() + "][" + m.toString() + "]";

}

其中:
testString是要处理的整个字符串,例如"某些东西[342] [345]"
n,m是放在括号内的值:)