JavaScript每15个字符插入换行符后出现多余空格如何解决
问题原因
你当前的代码逻辑会在最终返回的字符串末尾额外多出一个换行符,这就是你感知到的「多余空格」的来源:每次截取15个字符后都会拼接\n,哪怕是最后一次截取完成后,也会追加多余的换行。用trim()会把字符串首尾原本需要的空白也一起去掉,自然不符合业务需求。
解决方案
方案1:修改原有循环逻辑
用数组存储每一段内容,最后用\n拼接数组,不会出现末尾多余换行的问题:
function addLineBreak() { var columnValue = "ER Throttle Position ER Throttle Position ER Throt"; var result = []; while (columnValue.length > 0) { result.push(columnValue.substring(0, 15)); columnValue = columnValue.substring(15); } return result.join('\n'); } console.log(addLineBreak());
方案2:用正则表达式实现更简洁
直接通过正则匹配每1到15个字符,再用换行拼接,代码更精简:
function addLineBreak() { var columnValue = "ER Throttle Position ER Throttle Position ER Throt"; return columnValue.match(/.{1,15}/g).join('\n'); } console.log(addLineBreak());
正则/.{1,15}/g会全局匹配所有最长15位、最短1位的字符序列,完美覆盖不足15位的最后一段内容。
内容的提问来源于stack exchange,提问作者Linidu Praneeth Gunathilaka
相关产品推荐
相关产品推荐

