如何使用JS移除字符串每行行首的指定数量制表符?
JS 移除字符串每行行首4个制表符实现
核心代码
function removeLeading4Tabs(str) { // 按行拆分字符串,逐行处理后重新拼接 return str.split('\n').map(line => { // 仅匹配行首连续4个制表符并替换为空 return line.replace(/^\t{4}/, '') }).join('\n') }
用法示例
以给出的CSS字符串为例,调用方法即可得到预期结果:
const originalStr = `\t\t\t\t\t\t\t\t.mockuptext{ \t\t\t\t\t\t\t\t\tmax-width: 40%; \t\t\t\t\t\t\t\t\tmin-width: 150px; \t\t\t\t\t\t\t\t\tmax-height: 70%; \t\t\t\t\t\t\t\t\tmargin: 3rem; \t\t\t\t\t\t\t\t\tpadding: calc(1rem + 30px) 1.5rem 1rem 1rem; \t\t\t\t\t\t\t\t} ` const result = removeLeading4Tabs(originalStr) console.log(result)
说明
- 正则
/^\t{4}/仅匹配行首位置的连续4个制表符,不会修改行中、行尾的制表符,也不会误删不足4个的行首制表符 - 如果需要移除所有行首的制表符,只需把正则替换为
/^\t+/即可
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

