javascript - 在 Javascript 中用下划线替换初始空格

标签 javascript regex text replace replaceall

用(比如)下划线替换空格很容易:

y = x.replace(/ /g, '_');

删除前导空格也很容易:

y = x.replace(/^ +/, '');

但是有没有什么好方法可以只用下划线替换开头的空格呢?

最佳答案

T.J. Crowder's answer肯定比这种方法好,但我想我会添加它,因为所有主流浏览器都支持后视只是时间问题。在撰写此答案时,根据 EMCA TC39's regexp lookbehind proposal,Chrome 62 和 XS(2018 年 1 月 17 日更新)中提供的 V8 引擎是 JavaScript 中可变长度后视的唯一实现。 .

请注意下面的正则表达式包含一个尾随空格。如果你有 Chrome 62+(或者如果你在未来;另一个支持可变长度回顾的浏览器)你可以 test the regex here .

(?<=^ *) 

const regex = /(?<=^ *) /g
const str = '        something is here'

console.log(str.replace(regex, '_'))

关于javascript - 在 Javascript 中用下划线替换初始空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49071557/

相关文章:

javascript - 为什么我不能在 td >p 元素上添加 "keydown"事件?

带有多个字符定界符的 Java String.split

c - 从文本文件中仅读取 C 中的数字

python - Python向数据库添加字符串后字母错误

java - 如何将 input.txt 存储在字符串数组中,然后将值解析到单独的数组中

javascript - PaperJS:穿过前一条路径时停止绘制路径

javascript - 如何将变量传递给事件中的构造函数方法?

javascript - 在页面中最后执行一个 javascript 函数

javascript - ruby 中的递归正则表达式

Javascript正则表达式从每个换行条目中捕获多行内容