前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES6字符串模板多行清除行头空格制表符

ES6字符串模板多行清除行头空格制表符

作者头像
CRPER
发布2019-11-29 10:06:26
1K0
发布2019-11-29 10:06:26
举报
文章被收录于专栏:CRPER折腾记CRPER折腾记

前言

最近在撸项目工程化的时侯,需要输出一些文案提示,

对于多行文本我肯定优先考虑用 ES6字符串模板来实现,直接使用的效果并不是很符合想要的。

因为字符串模板会默认保留你换行的格式,包括缩进这些。

效果图

ES6 String Template(raw)

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
let outMsg = `
${override ? "正在" : "文件不存在,开始"}生成文件${fileName}..
文件路径: ${colors.yellow(filePath)}
继续执行构建-->`;
console.log(outMsg);
复制代码

正则改造下

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
let outMsg = `
${override ? "正在" : "文件不存在,开始"}生成文件${fileName}..
文件路径: ${colors.yellow(filePath)}
继续执行构建-->`.replace(/^\s+/gm, "");
console.log(colors.green(outMsg));
复制代码

解决姿势

传统的字符串拼接

这种虽然可以对齐的,但是写起来不舒服, 所以我选择了正则来处理

代码语言:javascript
复制
let a='fads\n'
a+='rewr\n';
复制代码

正则方法

代码语言:javascript
复制
/**
 *
 * @param {string} strTemplate - ES6字符串模板多行
 * @returns {string}
 * @description - 返回去除行头空格的字符串
 */
function removeMultipleStrLeadingSpace(strTemplate) {
  if (!strTemplate) {
    return "";
  }
  return strTemplate.replace(/^\s+/gm, "");
}

module.exports = removeMultipleStrLeadingSpace;
复制代码
正则匹配范围测试
在这里插入图片描述
在这里插入图片描述

总结

有这个函数基本可以让我写多行文案舒服一些了,有改进的方案或者不对之处请留言,谢谢阅读

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年11月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 效果图
    • ES6 String Template(raw)
      • 正则改造下
      • 解决姿势
        • 传统的字符串拼接
          • 正则方法
            • 正则匹配范围测试
        • 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档