//case 1
var str = 'x=12';
str = str.replace(/=/g, ' = '); // str = 'x = 12';
//case 2
var str = 'x =12';
str = str.replace(/ =/g, '= '); // str = 'x = 12';
//case 3
var str = 'x= 12';
str = str.replace(/= /g, ' ='); // str = 'x = 12';
我需要检查所有3个案例。如果我只使用上面的所有3个replace()
语句,它会添加额外的空格。
有更好的方法吗? (也许是正则表达式)
答案 0 :(得分:2)
//case 1
var str = 'x=12';
str.replace(/\s*=\s*/,' = '); // str = 'x = 12';
//case 2
var str = 'x =12';
str.replace(/\s*=\s*/,' = '); // str = 'x = 12';
//case 3
var str = 'x= 12';
str.replace(/\s*=\s*/,' = '); // str = 'x = 12';
答案 1 :(得分:1)
这个正则表达式应该这样做:
/ ?= ?/g
您也可以使用:
/\s?=\s?/g
此处\s
匹配所有空白字符。
它检查在它之前和/或之后是否存在带有或没有空格的=
符号。 ?
符号检查空格字符是否匹配为零或一次。
str = str.replace(/ ?= ?/g, ' = ');