Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅在字符的任一侧添加单个空格_Javascript_Regex_String - Fatal编程技术网

Javascript 仅在字符的任一侧添加单个空格

Javascript 仅在字符的任一侧添加单个空格,javascript,regex,string,Javascript,Regex,String,我需要检查所有3个箱子。如果我只使用上面所有3个replace()语句,它会增加额外的空格。 还有更好的办法吗?(可能是正则表达式)这个正则表达式应该做到: //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

我需要检查所有3个箱子。如果我只使用上面所有3个
replace()
语句,它会增加额外的空格。
还有更好的办法吗?(可能是正则表达式)

这个正则表达式应该做到:

//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';
您还可以使用:

/ ?= ?/g
此处
\s
匹配所有空白字符

它检查前后是否有带空格的
=
符号。
符号检查空格字符是否匹配零次或一次

/\s?=\s?/g
str = str.replace(/ ?= ?/g, ' = ');
//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';