我知道如何在PHP中执行此操作,但我正在使用javascript数组,这给了我很多麻烦。
我有一个总是这样设置的数组:
array[0] => Keyword
array[1] => String 1
array[2] => String 2
array[3] => String 3
array[4] => Keyword
array[5] => String 4
array[6] => String 5
array[7] => Keyword
现在这可以持续一段时间,所以我的问题是如何自动解析这个数组,使其不再包含关键字并组合关键字中的值,即:字符串1 + 2 + 3是1个整个字符串,和字符串4 + 5是一个完整的字符串。
答案 0 :(得分:1)
如果字符串中不存在关键字,则可以使用
执行此操作array.join("").split("Keyword")
(必须除去可能的空的第一个和最后一个元素)否则,如果你能找到字符串或关键字中不存在的两个字符,例如#
和%
,您可以这样做:
array.join("#").replace(/(^|#)Keyword(#|$)/g, "%").replace(/#/g, "").split("%")
答案 1 :(得分:0)
function transformArr(inputArr) {
var resultArr = [];
var buildString = "";
for (i = 0; i < inputArr.length; i++) {
if (inputArr[i] == 'Keyword') {
if (buildString != "") {
resultArr.push(buildString);
buildString = "";
}
} else {
buildString += inputArr[i];
}
}
if (buildString != "") {
resultArr.push(buildString);
}
return resultArr;
}
array = [];
array[0] = 'Keyword';
array[1] = 'String 1';
array[2] = 'String 2';
array[3] = 'String 3';
array[4] = 'Keyword';
array[5] = 'String 4';
array[6] = 'String 5';
array[7] = 'Keyword';
var result = transformArr(array);
console.log(result);