【问题标题】:How to remove all '#' symbols if they are at the start of word using javascript regular expression如何使用javascript正则表达式删除所有'#'符号,如果它们位于单词的开头
【发布时间】:2023-03-15 02:47:01
【问题描述】:

我有一个字符串,需要删除所有“#”符号,但前提是它们位于单词的开头。例如有下一个字符串:

"#quick ##brown f#x"

应该转化为:

"quick brown f#x"

如何在 javascript 中使用正则表达式来实现?提前感谢您的帮助

【问题讨论】:

  • 这里的单词开头是什么?字符串/空格的开始?
  • 您是否尝试过搜索?我问是因为这已经以许多不同的方式被多次讨论过。例如,stackoverflow.com/questions/4564414/…

标签: javascript regex


【解决方案1】:
var a = "#quick ##brown f#x"

var e = /(^| )#+/g
a.replace(e, "$1")

这应该可以解决问题。

【讨论】:

    【解决方案2】:

    像这样使用(\s+)\#+|^#。它将阻止#的中间

    Demo

    console.log("#quick ##brown f#x".replace(/(\s+)\#+|^#/g,"$1"))

    【讨论】:

    • 输出不正确。 'quickbrown f#x' !== 'quick brown f#x'
    【解决方案3】:

    您可以拆分字符串并替换字符串开头的每个哈希 # 符号。

    var str = "#quick ##brown f#x",
        res = str.split(' ').map(v => v.replace(/^#+/, '')).join(' ');
        
        console.log(res);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多