开发者社区> 问答> 正文

javascript怎么过滤下面的这个字符串??

原字符串:
var str="ul {width: 200px; height:300px;}";
过滤后的字符串:
var str='ul{width:200px;height:300px}';

怎么通过正则 过滤??

我想到的一种方式是:
str.replace(/(w*) |(:) |(;) /,"$1");
可得到的结果却成了这样:
var str='ul{width200px;height300px;}';

:分号被吃掉了....
怎么才能实现这样的过滤??

展开
收起
a123456678 2016-03-13 09:21:03 1754 0
1 条回答
写回答
取消 提交回答
  • 换个思路,先过滤掉所有的空格,然后再过滤掉}之前的;

    str.replace(/s+/g,"").replace(/;}$/,"}")
    要一步到位的话,这样str.replace(/(s+)|(;(?=}$))/g,"")

    看楼上评论,这个应该能满足题主要求str.replace(/(s+(?={))|B(s+)|(;(?=}$))/g,"")
    答案来自评论区大神ggsoul

    2019-07-17 19:01:42
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载