javascript - 正则表达式计算文本缩进中空格和制表符的数量
问题描述
我正在尝试找到一个 RegEx 解决方案,让我计算标签按和空格键按文本缩进的次数。它应该支持计数以下场景:
\t\t欢迎来到Hello World(2 tab press)
\s\s\s\s\t欢迎来到 Hello World(4 space and one tab)
\s\s\t\s\s\t欢迎来到 Hello World(combinations of repeated space and tabs)
\t\s\s欢迎来到Hello World(one tab 2 spaces)
解决方案
如果您想为此使用 JavaScript 正则表达式,计算出现次数的一种方法是比较替换各种空白字符之前和之后的字符串长度,例如
var input = " \tWelcome to Hello World";
input = input.replace(/^(\s+).*$/, "$1");
var num_spaces = input.length - input.replace(/[ ]/g, "").length;
var num_tabs = input.length - input.replace(/\t/g, "").length;
console.log("There are " + num_spaces + " spaces.");
console.log("There are " + num_tabs + " tabs.");
上述代码片段中的第二行删除了出现在初始空白字符簇之后的所有文本。
推荐阅读
- azure-devops - 有没有办法自定义我在 Microsoft Teams 中收到的通知?
- reactjs - 如何有条件地呈现状态属性
- mysql - 使用 auto_incremented 列中的数字作为插入值的 SQL 插入查询
- scala - 使用 Scala 的 HttpPost
- c - 卡在一个奇怪的循环中,没有文件
- python - 气流:添加python依赖项时出错
- python-3.x - requests-html 和无限滚动
- pip - pypi安装后pip安装上的importerror
- java - 如何在不安装 R 的情况下在 Java 中加载 R 脚本?
- xslt - 使用 XLST 复制/粘贴前面元素的值