这里我有一些本地函数,应该将包含一些值的HTML标记(键)转换为数组。每个带有某些产品的结束标签都有2x'\ n',该字符包含在数组中。
我该如何删除断行?
function cleanCatalog(s){
const separateValues = /<\/?[^>]+(>|$)/g;
let newLocal = s.replace(separateValues, " ");
let cleanText = newLocal;
let catalogArray = [cleanText.split(" ")];
return catalogArray;
}
输出:
“ [”钻“,” 99“,” 5“,”↵↵“,”锤子“,” 10“,” 50“,”↵↵“,...]”
答案 0 :(得分:1)
尝试通过排除new lines来过滤数组。
const outputWithoutNewLines = output.filter(el => el !== '\n');
答案 1 :(得分:0)
您可以使用filter返回:return catalogArray.filter(v => v!='\ n');
答案 2 :(得分:0)
您可以使用/^\s*$/
正则表达式从数组中过滤出空格。如果您有"\n\n"
或"\t \n"
之类的项目并且也想对其进行过滤,这会很有用
const arr = ["drill", "99", "5", "\n \t", " ", "hammer", "10", "50", "\n\n"];
const ans = arr.filter(x => !/^\s*$/.test(x));
console.log(ans);
答案 3 :(得分:0)
您可以使用过滤器功能,我发现您的某些项目具有重复的/n
字符,我的解决方案可以解决这种情况:
catalogArray.filter(e => e.replace(/(\r\n|\n|\r)/gm, "") !== '')
例如:
["drill", "99", "5", "\n\n", "hammer", "10", "50", "\n\n\n"].filter(e => e.replace(/(\r\n|\n|\r)/gm, "") !== '')
// => ["drill", "99", "5", "hammer", "10", "50"]