我有一个字符串
garments[0][1]; // The 0 and 1 can be other numbers
我需要替换第二个和第三个方括号内的数据。
[0] and [1]
这样就可以
garments[4][6]
如果有机会,请告诉我你的建议,谢谢。
答案 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"
,0
和1
,您可以执行以下操作:
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是放在括号内的值:)