我想删除"()"从每个值。我该怎么做?
var arr = ["(one)","(two)","(three)","(four)","(five)"];
for(var i = 0; i < arr.length; i++){
console.log(arr[i]);
}
答案 0 :(得分:4)
由于所有其他答案都不必要地复杂化,这里有一个简单的答案:
arr = arr.map(s => s.slice(1, -1));
如果您愿意,也可以就地进行;重要的部分是.slice(1, -1)
,它从索引1
(第二个字符)的字符开始,在最后一个字符(-1
之前)结束时获取子字符串。
答案 1 :(得分:1)
var arr = ["(one)","(two)","(three)","(four)","(five)"];
for(var i = 0; i < arr.length; i++){
var arrLength = arr[i].length -2;
var shortArr = arr[i].substr(1,arrLength);
console.log(shortArr);
}
这会在正面和背面减少一个字符
答案 2 :(得分:0)
匹配(
后跟任何非)
后跟)
的内容。 "(test(ing)123)",
(如果你关心)
var arr = ["(one)","(two)","(three)","(four)","(five)"];
for(var i = 0; i < arr.length; i++) {
arr[i] = arr[i].replace(/\(([^)]+)\)/g, "$1");
}
这更简单/更快(但可以说更脆弱):
var arr = ["(one)","(two)","(three)","(four)","(five)"];
for(var i = 0; i < arr.length; i++) {
arr[i] = arr[i].substr(1, arr[i].length - 2);
}
答案 3 :(得分:0)
这很快,无论字符串中有多少个括号,它都应该有效,它会将它们全部删除。
arr[i] = arr[i].split(/\(|\)/g).join("");