原字符串:
var str="ul {width: 200px; height:300px;}";
过滤后的字符串:
var str='ul{width:200px;height:300px}';
怎么通过正则 过滤??
我想到的一种方式是:
str.replace(/(\w*) |(:) |(;) /,"$1");
可得到的结果却成了这样:
var str='ul{width200px;height300px;}';
:分号被吃掉了....
怎么才能实现这样的过滤??
原字符串:
var str="ul {width: 200px; height:300px;}";
过滤后的字符串:
var str='ul{width:200px;height:300px}';
怎么通过正则 过滤??
我想到的一种方式是:
str.replace(/(\w*) |(:) |(;) /,"$1");
可得到的结果却成了这样:
var str='ul{width200px;height300px;}';
:分号被吃掉了....
怎么才能实现这样的过滤??
<script type="text/javascript">
var str="ul {width: 200px; height:300px;}";
var patt1=/\s/g;
document.write(str.replace(patt1,''));
</script>
你是要过滤掉字符串中所有的空格和最后的一个分号吗,可以通过下面的方法
var str="ul {width: 200px; height:300px;}";
str = str.replace(/ /g,'');
str = str.replace(';}','}');
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答856 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
换个思路,先过滤掉所有的空格,然后再过滤掉
}
之前的;
要一步到位的话,这样
str.replace(/(\s+)|(;(?=}$))/g,"")
看楼上评论,这个应该能满足题主要求
str.replace(/(\s+(?={))|\B(\s+)|(;(?=}$))/g,"")
答案来自评论区大神ggsoul