用正则表达式,如果替换标签外的空格?(标签内的空格不替换)

时间:2021-08-10 08:58:30
用正则表达式,如果替换<>标签外的空格?(<>标签内的空格不替换)

3 个解决方案

#1


<script>
var str = "  < test test > te st ";
var re = / *(<+.*>+) */gi;
str = str.replace(re,"$1");
alert(str);
</script>

#2


绕了几圈,一定会有更好的方法

把字符串分别以 < 和 > 分开,取中间的,两头的trim后再连接起来:

<script>
function String.prototype.TrimAll(){
return this.replace(/\s/gi,"");
}
var str = " a < test test > te st ";
str = str.split("<")[0].TrimAll()+/.*(<.*>).*/.exec(str)[1]+str.split(">")[1].TrimAll();
alert(str);
</script>

#3


上面还不太好,如果有多对<>就不适合了。。。。。

#1


<script>
var str = "  < test test > te st ";
var re = / *(<+.*>+) */gi;
str = str.replace(re,"$1");
alert(str);
</script>

#2


绕了几圈,一定会有更好的方法

把字符串分别以 < 和 > 分开,取中间的,两头的trim后再连接起来:

<script>
function String.prototype.TrimAll(){
return this.replace(/\s/gi,"");
}
var str = " a < test test > te st ";
str = str.split("<")[0].TrimAll()+/.*(<.*>).*/.exec(str)[1]+str.split(">")[1].TrimAll();
alert(str);
</script>

#3


上面还不太好,如果有多对<>就不适合了。。。。。