我有一串数据,中间有换行符。 例如:
"Product Name \n Product Color \n Product Quantity \n Product Location \n Product Size \n Product Power"
字符串中的元素数量可以是无限的。
我需要将 \n
替换为 >>>>\n
但仅当行号大于 3 而不是最后一行时。在最后一行我需要它说 (end)
我已经尝试过 map,我可以拆分和替换,但是我在遍历数组以确定要修改的行时遇到了问题。 以及在修改或不修改所有行后将它们加入备份。
输入是:
"Retract-A-Banner\n**Template:\nFull Color\nImprint Information:\nCL: 488 Special Ops Wing\n353 SOW Integrated Resilience Optimization Network\n"
预期输出:
"Retract-A-Banner\n**Template:\nFull Color >>>> \nImprint Information: >>>> \nCL: 488 Special Ops Wing >>>> \n353 SOW Integrated Resilience Optimization Network(end)\n"
最佳答案
按 \n
拆分并根据条件重新创建您的字符串:
- 如果这是最后一个那么添加
(end)
- 如果行大于3,添加
>>>>\n
- 否则一个简单的
\n
就可以了
编辑:
添加检查最后一个字符串是否为 \n
,并从数组中删除该值。
const str = "Retract-A-Banner\n**Template:\nFull Color\nImprint Information:\nCL: 488 Special Ops Wing\n353 SOW Integrated Resilience Optimization Network\n";
const splitted = str.split('\n');
let output = '';
if (splitted[splitted.length - 1] === '')
splitted.length--;
for (let i = 0; i < splitted.length; i++) {
if (i + 1 === splitted.length) {
output += splitted[i] + ' (end)';
} else if (i >= 2) {
output += splitted[i] + ' >>>> \n';
} else {
output += splitted[i] + '\n';
}
}
console.log(output);
关于javascript - 如何迭代多行字符串值的拆分结果数组以重新格式化某些行/换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70746889/