javascript - 如何只删除一串javascript中的一个字符

标签 javascript regex replace

#a:{width:100px;height:100px;background-color:black;}#b:{width:100px;} 

我有上面的字符串

我希望字符: 仅在像#a#b 这样的css 选择器从这个字符串中删除之后

我认为我必须使用正则表达式所以我写了一个:

/[#\.A-Za-z0-9]+([:])[{]/g

查看此正则表达式在 regex101 上的工作

但你知道它匹配 : 但是当我尝试使用 replace 方法删除它时整个 #a:{ #b:{ 被移除

任何帮助都会很棒!

最佳答案

正则表达式几乎是正确的。您需要做的是用 $1$2 而不是 null string

替换

同时对正则表达式做一个小改动

/([#.A-Za-z0-9]+):({)/g

Regex Example

所做的更改

  • ([#.A-Za-z0-9]+) 括在方括号中。匹配的字符串在 $1 中捕获,因此对于第一个匹配项,$1 将包含 #a

    • 在字符类中不需要转义 因为它在类中失去了意义。
  • [{]({) [] 周围没有任何区别,因此放弃它。包含在 () 中,因此在 $2 中捕获,例如在第一个匹配中 $2 将包含 {

  • 替换字符串$1$2

    将输出为

    #a{width:100px;height:100px;background-color:black;} #b{width:100px;}
    

关于javascript - 如何只删除一串javascript中的一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27457359/

相关文章:

javascript - "İ".toLowerCase() != "i"

java - 需要正则表达式帮助,因使用反斜杠而受到打击

php - 正则表达式多模式替换

SQL:从 SELECT 语句返回的所有条目中删除部分字符串

python - 在 VS Code Jupyter Notebooks 中查找/替换

javascript - 更改 JavaScript 数组给定维度的函数

javascript - 隐藏时停止在后台自动播放Youtube视频

javascript - JavaScript : replace function not working as expected

javascript 正则表达式替换不起作用,但字符串替换有效

Java Wicket - 在 AJAX 之前调用 javascript ( JQuery )